Nginx负载均衡配置权重方法【转】
权重配置:

upstream backserver{} 用在nginx 里面是配置 集群的服务器 如上图 weight 配置的该服务器的权重,上面 配置的是2:1 并不是 请求8080的服务器有2次 请求8081的有1次 而是比例:2:1 如果配置 是5:3并不是 一个请求5次一个请求3次
upstream web_server {
#weigrt权重值(越大访问率大),在fail_timeout时间内检查后端服务器max_fails次,失败则被剔除;
server 192.168.1.123 weight=1 fail_timeout=30s max_fails=2;
server 192.168.1.91 weight=1 fail_timeout=30s max_fails=2;
}
但是有问题发现只用上面的配置,即使后端服务器报错也不会剔除,还是会继续访问然后netstat看有好多time_wait包
每个后端服务器都配置了不同的 max_fails 和 fail_timeout 值,以指定在什么条件下将服务器标记为不可用,并在多长时间后重新尝试将请求发送到该服务器。
所以要加入check检查,但是编译时必须加入upstream_check_module模块,--add-module=/root/nginx_upstream_check_module-master
upstream manager { ip_hash; server 10.70.169.46:8003 max_fails=3 fail_timeout=30s; server 10.70.169.47:8003 max_fails=3 fail_timeout=30s; check interval=3000 rise=2 fall=5 timeout=1000 type=tcp; }

也可以试试这个,但是我没有使用,后端服务报错时看了监控代码是404报错
max_fails=number 设定Nginx与服务器通信的尝试失败的次数。在fail_timeout参数定义的时间段内,如果失败的次数达到此值,Nginx就认为服务器不可用。在下一个fail_timeout时间段,服务器不会再被尝试。 失败的尝试次数默认是1。设为0就会停止统计尝试次数,认为服务器是一直可用的。你可以通过指令proxy_next_upstream、 fastcgi_next_upstream和 memcached_next_upstream来配置什么是失败的尝试。 默认配置时,http_404状态不被认为是失败的尝试。
location / { proxy_pass http://tomcatserver1; index index.html index.htm; # proxy_next_upstream proxy_next_upstream error timeout invalid_header http_500 http_503 http_404; proxy_connect_timeout 20s; proxy_read_timeout 20s; proxy_send_timeout 20s; }
转自
如何配置nginx负载均衡配置(轮询,权重,ip绑定) - 年少不知愁 - 博客园
https://www.cnblogs.com/920913cheng/p/10475864.html
Nginx负载均衡配置——权重方式 – 零五博客
http://www.05bk.com/358.html
(25条消息) Nginx负载均衡策略 - weight 轮询加权_十佳菜鸟的博客-CSDN博客_nginx权重配置weight
https://blog.csdn.net/h13140995776/article/details/101173558?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~aggregatepage~first_rank_ecpm_v1~rank_v31_ecpm-1-101173558.pc_agg_new_rank&utm_term=nginx%E6%9D%83%E9%87%8D%E9%85%8D%E7%BD%AEweight&spm=1000.2123.3001.4430
Nginx配置max_fails fail_timeout 不起作用_nginx反向代理配置max fail-CSDN博客
https://blog.csdn.net/u011202188/article/details/88802035

浙公网安备 33010602011771号