天天看點

nginx負載均衡配置

版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/chengyi_L/article/details/82221490

原理:nginx通過它本身的反向代理功能将使用者的請求轉發到我們預先定義的叢集(upstream),叢集通過預先定義的規則将請求轉發到下屬伺服器

1.找到nginx.conf  在http塊中定義名為mygroup的upstream

2.在server塊中配置反向代理到我們定義的upstream

3.重新開機nginx,負載均衡配置完成(就是這麼簡單!)

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    upstream myGroup{
        server 192.168.0.1:80;
        server 192.168.0.2:80;
    }

    server {
        listen 80;
        server_name *.your.domain;
        location / {
                proxy_pass http://myGroup;
                proxy_redirect off;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            }
    }

    #gzip  on;

    #include /etc/nginx/conf.d/*.conf;
}           

4.其他

upstream配置可以定義負載均衡政策。如果不填則預設随機輪詢

另外還有權重輪詢,下圖這兩個個後端伺服器被通路的比率是8:5

upstream myGroup{
        server 192.168.0.1:80  weight=8;
        server 192.168.0.2:80  weight=5;
    }           

和ip_hash(根據ip的hash規則選擇機器)能保證單個ip每次都通路同樣的機器

upstream myGroup{
        ip_hash;
        server 192.168.0.1:80;
        server 192.168.0.2:80;
    }           

繼續閱讀