字體:  

Nginx反向代理部署 Node.js 的配置方法

becky98 發表於: 2016-7-11 16:11 來源: ADJ網路控股集團


一般來說使用node.js開發的webapp都不會是預設的80 port,以官方文件演示為例

QUOTE:



var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Welcome Node.js');
}).listen(3001, "127.0.0.1");
console.log('Server running at http://127.0.0.1:3001/');



使用的是3001 port,使用者在網址後面加入 :3001 才能訪問網站,一般預設HTTP端口是80,監聽 80port能讓網址看起來更簡結。我在CentOS 6上配置了使用的是nginx,需要使用反向代理,配置nginx反向代理的參數参考如下。

比如說我的域名為 nodejs.adj.com.tw ,node.js的通訊端口為 3001,則設定如下:

QUOTE:



server {
    server_name nodejs.adj.com.tw;
    index index.php index.html index.htm;

    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:3001/;
    proxy_redirect off;
    }
}



將網站域名設置好,然後端口設置為80,將所有 nodejs.adj.com.tw:80的請求傳遞到nodejs程序去。 保存nginx conf文件後,記得要restart nginx,方能生效囉。
逢甲住宿推薦逢甲住宿台中旅店逢甲日租台中住宿台中逢甲民宿台中民宿台中一中住宿台中便宜住宿台中青年旅館