我正在尝试了解Node.js,我已经通过Lynda.com上的指南编写了一个简单的Node.js page和express和ejs。我将页面托管在Amazon AWS服务器上并安装了Nginx。当我运行节点应用程序时,我可以访问IP:3000的页面。我还根据几个不同的指南设置了Nginx,将服务器IP /重定向到端口3000.但是当我尝试以IP访问页面时,没有任何图像或CSS出现。
我过去在学校使用Ruby on Rails建立了一些网页,我假设这是一个开发与生产问题。我找到的大多数指南/说明都显示为一个简单的hello world应用程序设置Nginx而没有任何图像或CSS。有人可以指导我找到合适的资源来完成我在这里尝试做的事情吗?
编辑:这是我的app.js和我的两条路线 app.js
var express = require('express');
var reload = require('reload');
var app = express();
var clientFile = require('./data/clients.json');
var instructionFile = require('./data/instructions.json');
app.set('port', process.env.PORT || 3000);
app.set('clientData', clientFile);
app.set('instructionData', instructionFile);
app.set('view engine', 'ejs');
app.set('views', './views');
app.locals.siteTitle = 'Roux Meetups';
app.use(express.static('./public'));
app.use(require('./routes/index'));
app.use(require('./routes/instructions'));
var server = app.listen(app.get('port'), function() {
console.log('Listening on port ' + app.get('port'));
});
reload(server, app);
var express = require('express');
var router = express.Router();
路线1
router.get('/', function(req, res) {
var clients = req.app.get('clientData');
var clientPhotos = clients.images;
var clientAddresses = clients.sites;
res.render('index', {
pageTitle: 'Home',
clients: clientPhotos,
sites: clientAddresses,
pageID: 'home'
});
});
module.exports = router;
路线2
var express = require('express');
var router = express.Router();
router.get('/instructions', function(req, res) {
var clients = req.app.get('clientData');
var clientPhotos = clients.images;
var clientAddresses = clients.sites;
var instructions = req.app.get('instructionData');
var instructPhotos = instructions.images;
res.render('instructions', {
pageTitle: 'Instructions',
clients: clientPhotos,
sites: clientAddresses,
instructs: instructPhotos,
pageID: 'instructions'
});
});
module.exports = router;
我也只使用以下内容编辑了我的/ etc / nginx / sites-available / default for nginx
server {
listen 80 default_server;
listen[::]:80 default_server;
root /var/www/html;
index index.html index.html index.nginx-devian.html;
server_name _;
location / {
proxy_pass http://localhost:3000;
try_files $uri $uri/ = 404;
}
}
答案 0 :(得分:0)
所以我的问题是我的/ etc / nginx / sites-available / default配置错了。我用垃圾编辑了它,完全忘记了。如果其他人有类似的问题,请留下这个。我从https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-14-04
获得的正确nginx配置