1. 程式人生 > 其它 >Nginx-負載均衡與反向代理(lb伺服器)

Nginx-負載均衡與反向代理(lb伺服器)

負載均衡

1.去nginx官網找upstream模組

upstream backend {
    server backend1.example.com       weight=5;
    server backend2.example.com:8080;
    server unix:/tmp/backend3;

    server backup1.example.com:8080   backup;
    server backup2.example.com:8080   backup;
}

server {
    location / {
        proxy_pass http:
//backend; } }

2.lb01伺服器部署好nginx,並將以上程式碼複製到nginx.conf,

指定web伺服器(www和blog)的地址和配置向後請求節點帶hosts欄位,

並設定web01為主,web為backup

[root@lb01 ~]# vim  /application/nginx/conf/nginx.conf
    sendfile        on;
    keepalive_timeout  65;
    upstream backend {
        server 10.0.0.7:80  weight=1;
        server 10.0.0.8:80  weight=1
backup; } server { listen 80; server_name www.etiantian.org; location / { proxy_pass http://backend; proxy_set_header Host $host; } } server { listen 80; server_name blog.etiantian.org; location
/ { proxy_pass http://backend; proxy_set_header Host $host; } } }

3.hosts檔案中新增用於做解析測試

10.0.0.5 www.etiantian.org blog.etiantian.org
for n in {1..100};do curl www.etiantian.org;sleep 1;done

4.節點伺服器獲取使用者的真實ip地址

在nginx反向代理伺服器上配置nginx檔案,新增獲取使用者ip的欄位:proxy_set_header X-Forwarded-For $remote-addr;

在web伺服器的日誌配置接收欄位:http_x_forwarded-for;

lb01(負載均衡):

web01(節點伺服器):

測試:

web01:

tail -f /application/nginx/logs/access_www.log

這時用電腦訪問www.etiantian.org

5.upstream的模組

max和fail的預設值

====================================================================================================================================