nginx做nodejs(express等通用)反向代理


首先配置環境nginx+nodejs。。。(沒有請看我的其他文章,此處不重復)

cd 到nginx的site-available目錄 ubuntu的在 

cd /etc/nginx/site-available/

創建一個server文件 

sudo touch testServer

然后可以copy下面的代碼進去了(勤勞的coder可以手寫一遍的哦)

http{
keepalive
65; #超時
gzip on; #是否開啟壓縮模塊 gzip_comp_level 6; #壓縮比例 1-9 gzip_vary on; #根據http頭判斷是否進行壓縮 gzip_min_length 1000; #允許壓縮的最小字節數 gzip_proxied any; #無論后端服務器返回的header是什么,都壓縮 gzip_types text/plain text/html text/css application/json application/x-javascript text/xml application/xhtml application/xml+rss text/javascript image/jpeg image/jpg image/png image/gif; #壓縮文件類型 基本全了 gzip_buffers 16 8k; #向系統申請 以8k為基礎的16倍 緩存單元
   upstream my_node_app{    #不清楚的推薦看一下 http://nginx.org/en/docs/ 或者英文不好的可以看大神的文章 http://www.cnblogs.com/taosim/articles/3110626.html 里面有對upstream的詳細介紹
        server 127.0.0.1:3000; keepalive 64; #超時 }
    server{
        listen 80;  #監聽80端口
        server_name zboy.com;  #設置服務名稱
        location / {   #服務是非靜態文件,設置nodejs服務的反向代理
            proxy_pass http://my_node_app;  
            proxy_redirect off;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Connection "";  
        }

    location ~ ^/(img/|js/|css/|images/|flash/|media/)$ { #如果是靜態文件 則劫持處理
            root /home/app/myapp/public;  #your project url 
            access_log off;
            expires max;
        }
    }
}

OK文件搞定,但配置還差一步。。。

創建軟鏈接到site-enable文件夾中

sudo ln -s /etc/nginx/site-available/testServer /etc/nginx/site-enable/testServer

然后執行命令 

sudo /etc/init.d/nginx reload   /stop-start

此時開啟你的nodejs服務 注意端口號設置3000

瀏覽器打開 http://127.0.0.1

大功告成!~

參考文章:http://ourjs.com/detail/nodejs-on-nginx-%E4%BD%BF%E7%94%A8nginx%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E5%A4%84%E7%90%86%E9%9D%99%E6%80%81%E9%A1%B5%E9%9D%A2


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM