Nginx负载均衡当其中一台服务器挂掉之后,Nginx负载将会怎样呢?
Nginx负载均衡当其中一台服务器挂掉之后,Nginx负载将会怎样呢?
2021-04-05 15:10:23 小道仙 99阅读
之前写过Nginx负载均衡的配置,详情可以看这里
Nginx实现负载均衡Linux版本(六种负载策略)
今天来探讨一下当我们有多台服务的时候,其中一台服务挂掉了会怎么样呢?
我们使用上文中的思路去搭建一个简单的负载均衡,然后关闭其中一台再来访问,会发现我们的浏览器卡住一直转圈圈,过了很久才会显示结果。
由此我们可以得出结论Nginx负载的时候如果其中一台服务挂掉了,它会把请求转发到另一个可以提供服务的机器,其中这之间的超时等待默认是60s
我们可以通过这一个配置去改变这个时间(proxy_connect_timeout 定义与代理服务器建立连接的超时。请注意,此超时通常不能超过75秒。),比如我们可以把时间设置成1s,这样用户就无感知了。(当然了这个时间有点极端,只是为了测试)
location / {
proxy_pass http://xdx97.com;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
#nginx服务器与被代理服务连接超时时间,代理超时
proxy_connect_timeout 1s;
}
重启Nginx之后,会发现即使挂掉了一个服务,也可以很快的响应。
其它常用配置:
#允许客户端请求的最大单文件字节数
client_max_body_size 10m;
#缓冲区代理缓冲用户端请求的最大字节数,
client_body_buffer_size 128k;
#nginx跟后端服务器连接超时时间(代理连接超时)
proxy_connect_timeout 90;
#连接成功后,后端服务器响应时间(代理接收超时)
proxy_read_timeout 90;
#设置代理服务器(nginx)保存用户头信息的缓冲区大小
proxy_buffer_size 4k;
#proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
proxy_buffers 32k;
#高负荷下缓冲大小(proxy_buffers*2)
proxy_busy_buffers_size 64k;
#设定缓存文件夹大小,大于这个值,将从upstream服务器传
proxy_temp_file_write_size 64k;
全部配置:
转载:https://www.xdx97.com/article/828647768682659840
本文来自博客园,作者:.net&new,转载请注明原文链接:https://www.cnblogs.com/wugh8726254/p/16823051.html