1. 程式人生 > >[轉]Nginx反向代理和負載均衡部署指南

[轉]Nginx反向代理和負載均衡部署指南

時間 digg upstream 後端服務 clu server 1.2 部署 ostc

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 reload

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 {

#ip_hash;

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 {

#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 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反向代理和負載均衡部署指南