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

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

相关内容

支付盒子pos机利率
365bet足球投注网站

支付盒子pos机利率

📅 07-14 👁️ 4123
助农贷款都需要什么条件?
365bet足球投注网站

助农贷款都需要什么条件?

📅 07-31 👁️ 4695
优化文章的技巧有哪些?这三个方法轻松搞定
(0755) 3656 3788

优化文章的技巧有哪些?这三个方法轻松搞定

📅 07-13 👁️ 2280