Nginx反向代理和负载均衡后 其中服务器宕机解决方法

文章讨论了在集群环境下,如何通过设置Nginx的proxy_connect_timeout、proxy_read_timeout和proxy_send_timeout来处理服务器宕机导致的访问延迟。重点介绍了这些超时时间的作用和调整策略,以及一个具体的location配置示例。
摘要由CSDN通过智能技术生成

问题说明

在集群下,有别人服务器宕机,导致访问过慢,请求时间变长,需要设置服务器的连接超时、请求、响应的时间

问题解决

加入以下代码

proxy_connect_timeout       1;
proxy_read_timeout          1;
proxy_send_timeout          1;
  • proxy_connect_timeout 指定了与后端代理服务器建立连接的超时时间。在这个示例中,它被设置为 1 秒钟。
  • proxy_read_timeout 指定了从后端代理服务器读取响应的超时时间。如果在指定的时间内没有收到完整的响应,Nginx 将终止连接。在这个示例中,它被设置为 1 秒钟。
  • proxy_send_timeout 指定了向后端代理服务器发送请求的超时时间。如果发送请求的时间超过了指定的时间,Nginx 将终止连接。在这个示例中,它被设置为 1 秒钟。

这些超时时间都是以秒为单位的。根据你的实际需求和后端代理服务器的性能,你可以适当调整这些值。如果后端代理服务器的响应时间较长,你可能需要将超时时间设得更长一些,以确保在合理的时间内完成请求和响应。

需要注意的是,过小的超时时间可能导致连接过早地被终止,而过大的超时时间则可能导致连接资源被长时间占用。因此,你应该根据实际情况来平衡超时时间的设置。

案例:

        location /api {  
            default_type  application/json;
            #internal;  
            keepalive_timeout   30s;  
            keepalive_requests  1000;  
            #支持keep-alive  
            proxy_http_version 1.1;  
            rewrite /api(/.*) $1 break;  
            proxy_pass_request_headers on;
            #more_clear_input_headers Accept-Encoding;  
            proxy_next_upstream error timeout;  
            #proxy_pass http://127.0.0.1:8081;
            proxy_pass http://backend;
            proxy_connect_timeout       1;
            proxy_read_timeout          1;
            proxy_send_timeout          1;
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值