首頁 >後端開發 >php教程 >Nginx反向代理與負載平衡部署指南

Nginx反向代理與負載平衡部署指南

WBOY
WBOY原創
2016-08-08 09:21:54981瀏覽

1.        安裝

1)         為 新版從Nginx官網下載頁面(http://nginx.org/en/download.html)下載Nginx目錄。

2.        啟動與停止Nginx

Nginx目前只支援命令列操作,操作前先進入Dos命令環境,並進入Nginx部署目錄。

1)         啟動Nginx:start nginx

2)        

這三個指令可分別做成bat文件,放在部署目錄下,方便後續操作。

start nginx.bat檔案內容:start nginx

stop nginx.bat檔案內容:nginx -s stop

reload nginx.bat檔案內容:nginx -s reload

3. 下conf子目錄的nginx.conf檔(如nginx-1.5.13confnginx.conf)內容,可調整相關配置。

反向代理程式設定範例:

location / {

        #設定主機頭與客戶端真實位址,以便伺服器取得用戶端真實IP

          proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        off;

             #設定反向代理的位址

            

代理地址依實際情況修改。

4.        負載平衡設定

nginx 的upstream預設是以輪詢的方式實現負載平衡,這種方式中,每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。

另一個方式是ip_hash:每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個後端伺服器,可以解決session的問題。

負載平衡設定範例:

upstream backend {

             #ip_hash;

       #ip_hash;

              server 192.168.1.252;

             server

        listen       80;

        server_name  trffweb;

        location/ {

       location/ {

       proxy_pass http://backend;     

        }

}

Upstream命名與伺服器位址依實際情況修改。

5.        完整設定範例

nginx.conf:

worker_processes  1;

events {

 

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    upstream backend {

             #ip_hash;

             server 192.168.1.251;

             server 192.168.1.252;

             server 192.168.1.247;

         }

    server {

listen       80;

        server_name  2;

        location / {

        #設定主機頭和客戶端真實位址,以便伺服器取得用戶端真實IP

           proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for;

             #停用快取

           

             proxy_pass http://backend;     

       ,未經博主允許不得轉載。

以上就介紹了Nginx反向代理和負載平衡部署指南,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn