簡體   English   中英

使用Nginx和ExpressJS進行404路由

[英]404 on routing with nginx and expressjs

我已經在EC2上創建了一個ubuntu服務器實例,並試圖使Express Generator簡單骨架開始工作。
當我轉到根目錄http:// MY_SERVER_IP_HERE /時 ,將顯示該應用程序的索引頁。
如果我轉到http:// MY_SERVER_IP_HERE / users ,即使設置了快速應用程序來處理此路由,我仍會收到404錯誤。

var routes = require('./routes/index');
var users = require('./routes/users');

app.use('/', routes);
app.use('/users', users);

/routes/index.js

var express = require('express');
var router = express.Router();

/* GET home page. */
/**** WORKS FINE ****/
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express' });
});

module.exports = router;

/routes/users.js

var express = require('express');
var router = express.Router();

/* GET users listing. */
/*** GETTING 404 ****/
router.get('/', function(req, res, next) {
  res.send('respond with a resource');
});

module.exports = router;

我的Nginx路由設置:

location ~ ^/(stylesheets/|css/|js/){
    root /var/www/html/test/myapp/public;
}

location / {
    proxy_pass http://MY_SERVER_IP:3000;
}

非常感謝你!

像這樣更改代碼。

server.js

var express= require('express');
var app = express();  
require('./routes/index')(app, express);
require('./routes/users')(app, express);
//.....
app.listen(3000);

/routes/index.js

module.exports  = function(app, express) {
    var router = express.Router();
    router.get('/', function(req, res, next) {
        res.render('index', { title: 'Express' });
    });
    app.use('/', router);
};

/routes/users.js

module.exports  = function(app, express) {
    var router = express.Router();
    router.get('/', function(req, res, next) {
        res.send('respond with a resource');
    });
    app.use('/users', router);
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM