【Nginx】负载均衡当其中一台服务器宕机之后

  • 阿里云国际版折扣https://www.yundadi.com

  • 阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

    搭建一个简单的负载均衡然后关闭其中一台再来访问会发现我们的浏览器卡住一直转圈圈过了很久才会显示结果。由此我们可以得出结论Nginx负载的时候如果其中一台服务挂掉了它会把请求转发到另一个可以提供服务的机器其中这之间的超时等待默认是60s。我们可以通过这一个配置去改变这个时间proxy_connect_timeout 定义与代理服务器建立连接的超时。

    请注意此超时通常不能超过75秒。

        upstream cluster{
        	server nacos-node1.strongman.cluster.local:8848;
            server nacos-node2.strongman.cluster.local:8848;
            server nacos-node3.strongman.cluster.local:8848;
            server nacos-node4.strongman.cluster.local:8848;
        }
    
        server {
            listen       80;
            server_name  localhost;
            location / { 
              proxy_pass http://cluster;
              proxy_set_header Host $http_host;
              
              # 添加 HTTP 响应头以便知道负载到哪台服务器上
              add_header backendIP $upstream_addr; 
              # 响应码
              add_header backendCode $upstream_status; 
              
              # 服务器与被代理服务连接超时时间代理超时
              proxy_connect_timeout 60s;
            } 
        }
    

    参考配置

    Module ngx_http_proxy_module

  • 阿里云国际版折扣https://www.yundadi.com

  • 阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6