一般来说使用node.js开发的webapp都不会是默认的80端口,以官方文档演示为例

JavaScript
var http = require('http');   http.createServer(function (req, res) {     res.writeHead(200, {'Content-Type': 'text/plain'});   res.end('Hello World\n'); }).listen(1337, '127.0.0.1'); 

使用的是1337端口,用户必须在网址后加入:1337才能访问站点,一般默认HTTP端口是80,监听80端口能让网址看起来更简洁。我在linode上配置了LNMP环境,使用的是nginx,需要使用反向代理,配置nginx反向代理的代码参考如下。 比如说我的某域名为 fitbit.is26.com ,node.js的通讯端口为1337,则:

nginx
server{   listen 80;   server_name fitbit.is26.com;   index index.html index.htm index.php default.html default.htm default.php;  location / {   proxy_set_header X-Real-IP $remote_addr;   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;   proxy_set_header Host $http_host;   proxy_set_header X-NginX-Proxy true;   proxy_pass http://127.0.0.1:1337/;   proxy_redirect off;   } } 

将网站域名设置好,然后端口设置为80,将所有从fitbit.is26.com:80的请求传递到nodejs程序去。 保存nginx conf文件后,记得要restart nginx,方能生效。

 

 

 

 

 

 pasting

upstream ahdefend {
server 127.0.0.1:18888;
}

server {
listen 80;
server_name 47.100.201.109 ahdefend.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Nginx-Proxy true;
proxy_pass http://ahdefend;
proxy_buffer_size 64k;
proxy_buffers 32 32k;
proxy_busy_buffers_size 128k;
proxy_redirect off;
}
}