becky98 2016-7-11 16:11
Nginx反向代理部署 Node.js 的配置方法
一般來說使用node.js開發的webapp都不會是預設的80 port,以官方文件演示為例<br>[quote]<br><br>var http = require('http');<br>http.createServer(function (req, res) {<br> res.writeHead(200, {'Content-Type': 'text/plain'});<br> res.end('Welcome Node.js');<br>}).listen(3001, "127.0.0.1");<br>console.log('Server running at http://127.0.0.1:3001/');<br><br>[/quote]<br><br>使用的是3001 port,使用者在網址後面加入 :3001 才能訪問網站,一般預設HTTP端口是80,監聽 80port能讓網址看起來更簡結。我在CentOS 6上配置了使用的是nginx,需要使用反向代理,配置nginx反向代理的參數参考如下。 <br><br>比如說我的域名為 nodejs.adj.com.tw ,node.js的通訊端口為 3001,則設定如下:<br><br>[quote]<br><br>server {<br> server_name nodejs.adj.com.tw;<br> index index.php index.html index.htm;<br><br> location / {<br> proxy_set_header X-Real-IP $remote_addr;<br> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br> proxy_set_header Host $http_host;<br> proxy_set_header X-NginX-Proxy true;<br> proxy_pass http://127.0.0.1:3001/;<br> proxy_redirect off;<br> }<br>}<br><br>[/quote]<br><br>將網站域名設置好,然後端口設置為80,將所有 nodejs.adj.com.tw:80的請求傳遞到nodejs程序去。 保存nginx conf文件後,記得要restart nginx,方能生效囉。