nginx反向代理和負載均衡的簡單部署

1.   安裝
  1)         從Nginx官網下載頁面(http://nginx.org/en/download.html)下載Nginx最新版本(目前是1.5.13版本)安裝包;

  2)         解壓後複製到部署目錄。

2.   啓動和中止Nginx
  Nginx目前只支持命令行操做,操做前先進入Dos命令環境,並進入Nginx部署目錄。

  1)         啓動Nginx:start nginx

  2)         中止Nginx:nginx -s stop

  3)         修改配置後重啓:nginx -s reload

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

  start nginx.bat文件內容:start nginx

  stop nginx.bat文件內容:nginx -s stop

  reload nginx.bat文件內容:nginx -s reloadhtml

3.   反向代理配置
  修改部署目錄下conf子目錄的nginx.conf文件(如nginx-1.5.13\conf\nginx.conf)內容,可調整相關配置。

  反向代理配置示例:

location / {

        #設置主機頭和客戶端真實地址,以便服務器獲取客戶端真實IP

             proxy_set_header Host $host;

             proxy_set_header X-Real-IP $remote_addr;

             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             #禁用緩存
             proxy_buffering off;
             #設置反向代理的地址
             proxy_pass http://192.168.1.1;      
      }
代理地址根據實際狀況修改。
4.  負載均衡配置
  nginx 的 upstream默認是以輪詢的方式實現負載均衡,這種方式中,每一個請求按時間順序逐一分配到不一樣的後端服務器,若是後端服務器down掉,能自動剔除。

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

負載均衡配置示例:

upstream backend {
             server 192.168.1.251;

             server 192.168.1.252;

             server 192.168.1.247;
         }

server {

        listen       80;
        server_name  trffweb;
        location / {
             #反向代理的地址
             proxy_pass http://backend;    
        }
}

Upstream命名和服務器地址根據實際狀況修改。

5. 完整配置示例nginx.conf:
 
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    upstream backend {
             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 Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             #禁用緩存
             proxy_buffering off;
             #反向代理的地址
             proxy_pass http://backend;    
        }
    }
}nginx

相關文章
相關標籤/搜索