0
我已經嘗試了很多東西,我在nginx服務器上使用ExpressJS運行NodeJS應用程序,只要添加:3000(或任何其他端口),以我的網址nginx上的NodeJs無法在沒有端口號的情況下工作
http://162.209.01.01:3000
顯示正確的節點應用 http://162.209.01.01
顯示nginx的歡迎頁面(歡迎nginx的,如果你看到這個網頁...)
我想端口映射3000到端口80這樣我就可以在不輸入URL中的端口的情況下加載節點應用程序。
這是我sites-enabled/default
文件:
upstream testApp {
server 127.0.0.1:3000;
keepalive 64;
}
server {
listen 80;
server_name .testApp;
access_log /var/log/nginx/simplyAsk.log;
location/{
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://162.209.01.01;
proxy_redirect off;
proxy_http_version 1.1;
}
}
這是我bin/www
文件:
#!/usr/bin/nodejs
var debug = require('debug')('my-application');
var app = require('../app');
app.set('port', process.env.PORT || 3000);
var server = app.listen(app.get('port'), function() {
debug('Express server listening on port ' + server.address().port);
});
您有奇怪的'proxy_pass'指令。可能它應該是'proxy_pass http:// testApp /;' –
yup,這是有效的,永遠不會猜到。謝謝! – matt
無需猜測。只要小心,並**懂**你寫/複製... –