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; }
weight(权重)
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况
upstream server_qd{ server 127.0.0.1:8072 weight=2 ; server 127.0.0.1:8096 weight=4; }
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; }
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
在location 添加cookie路径转换可以解决
location / { root html; index index.html index.htm; proxy_pass http://server_qd; proxy_cookie_path /project /proxy_path; }