2015-09-13 96 views
-1

我已經在EC2上創建了一個ubuntu服務器的實例,並試圖讓快遞生成器簡單的骨架得到工作。
當我去根http://MY_SERVER_IP_HERE/該應用程序的索引頁面顯示。
如果我去http://MY_SERVER_IP_HERE/users儘管快速應用程序設置爲處理此路線,但即時獲得404。404上使用nginx和expressjs路由

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; 
} 

非常感謝你!

+0

是http:// MY_SERVER_IP_HERE/users /(wi最後一個斜線)工作? – djaax

+0

nope,仍然有404 –

回答

0

更改這樣的代碼。

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); 
}; 
+0

對不起,由於某種原因,我仍然得到404,我會再次調試它,並更新任何更改 –