[英]404 on routing with nginx and expressjs
i have created on EC2 an instance of ubuntu server and trying to get the express generator simple skeleton get working. 我已经在EC2上创建了一个ubuntu服务器实例,并试图使Express Generator简单骨架开始工作。
when i go to root http://MY_SERVER_IP_HERE/ the index page of the app is shown. 当我转到根目录http:// MY_SERVER_IP_HERE /时 ,将显示该应用程序的索引页。
if i go to http://MY_SERVER_IP_HERE/users im getting 404 even though the express app is set up to handle this route. 如果我转到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 /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 /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;
my nginx routing settings: 我的Nginx路由设置:
location ~ ^/(stylesheets/|css/|js/){
root /var/www/html/test/myapp/public;
}
location / {
proxy_pass http://MY_SERVER_IP:3000;
}
thank you very much! 非常感谢你!
Change the code like this. 像这样更改代码。
server.js 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 /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 /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.