Nginx 负载均衡之 upstream 参数 和 location 参数

Nginx 参数官方文档:http://nginx.org/en/docs/http/ngx_http_upstream_module.html

常用 Upstream 参数

参数 描述
service 反向服务地址 加端口
weight 权重
max_fails 失败多少次 认为主机已挂掉则,踢出
fail_timeout 踢出后重新探测时间
backup 备用服务
max_conns 允许最大连接数
slow_start 当节点恢复,不立即加入

service

  每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除 配置如下 

upstream server_qd{
        server 127.0.0.1:8072 weight=2 ;
        server 127.0.0.1:8096 weight=4;
    }
View Code

weight(权重)

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况 

upstream server_qd{
        server 127.0.0.1:8072 weight=2 ;
        server 127.0.0.1:8096 weight=4;
    }
View Code

max_conns

可以根据服务的好坏来设置最大连接数,防止挂掉,比如1000,我们可以设置800,外加weight(权重) 进一步分发

upstream server_qd{
        server 127.0.0.1:8072 weight=2 max_conns=800 ;
        server 127.0.0.1:8096 weight=4;
    }
View Code

max_fails、 fail_timeout

max_fails:失败多少次 认为主机已挂掉则,踢出,公司资源少的话一般设置2~3次,多的话设置1次

fail_timeout:踢出后重新探测时间

例如:

max_fails=2 fail_timeout=10代表在10秒内请求某一应用失败2次,认为该应用宕机,后等待10秒,这期间内不会再把新请求发送到宕机应用,而是直接发到正常的那一台,

时间到后再有请求进来继续尝试连接宕机应用且仅尝试1次,如果还是失败,则继续等待10秒...以此循环,直到恢复。 

upstream server_qd{
        server 127.0.0.1:8072 weight=2 max_conns=800 max_fails=1  fail_timeout=20;
        server 127.0.0.1:8096 weight=4;
    }

具体可以参考 https://blog.csdn.net/caijunsen/article/details/83002219

nginx的location配置详解例子:https://www.cnblogs.com/sign-ptk/p/6723048.html

Nginx反向代理丢失cookie的问题

在location 添加cookie路径转换可以解决

location / {
            root   html;
            index  index.html index.htm;
        proxy_pass http://server_qd;
        proxy_cookie_path /project /proxy_path;
        }
原文地址:https://www.cnblogs.com/jerrywublogs/p/11309208.html