Nginx负载均衡当其中一台服务器挂掉之后,Nginx负载将会怎样呢?

之前写过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;    

全部配置:

http://nginx.org/en/docs/http/ngx_http_proxy_module.html

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值