[教學] nginx 設定 proxy server 用於node.js app. Set ngnix proxy server.

最近使用NodeJS開發程式,但是每次的網域都非常的醜,要使用xxx.xxx.xxx:8000,後面一定都要加上port號,以下解說如何在nginx 底下設定proxy 。

環境:
Ubuntu server 11.04
Nodejs 0.4.0
nginx

PS. 假設大家都已經學會如何使用Node.js,以及設定Nginx,操作linux

修改設定檔
path: /etc/nginx/sites-available
filename: xxx.xxx.xxx,範例為www.clonn.com

sudo /etc/nginx/sites-available/www.clonn.com<br></br>

內容修改

<br></br>upstream test_app_1 {<br></br> server 192.168.0.102:8000;<br></br>}<br></br>server {<br></br> listen 80; ## listen for ipv4; this line is default and implied<br></br> listen [::]:80 default ipv6only=on; ## listen for ipv6<br></br><br></br> # Make site accessible from http://localhost/<br></br> server_name www.clonn.com;<br></br><br></br> location / {<br></br> proxy_set_header X-Real-IP $remote_addr;<br></br> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br></br> proxy_set_header Host $http_host;<br></br> proxy_set_header X-NginX-Proxy true;<br></br> proxy_pass http://test_app_1/;<br></br> proxy_redirect off;<br></br> }<br></br>}<br></br>

連結設定檔
path: /etc/nginx/sites-enabled

ln -s /etc/nginx/sites-available/www.clonn.com /etc/nginx/sites-enabled/www.clonn.com<br></br>

重新啟動Nginx

sudo /etc/init.d/nginx restart<br></br>

接著啟動自己的NodeJS,port設定為8000,DNS server 可以mapping 後,測試一下xxx.xxx.xxx是否正常運作。

以上設定完畢,感謝收看。

CaesarChi

Web developer, focus on website fullstack, special JavaScript, and love sharing developing experience and communicate with developers. http://about.me/clonn