• nginx+tomcat做负载均衡,当某个tomcat宕机,会发生什么情况,如何解决?


    使用两台Tomcat,一台nginx做了一个小实验:

      步骤一:

        当两台tomcat正常运行的情况下,访问http://localhost的速度是很很迅速的,通过修改主页内容也可以观察到是通过负载均衡得到的效果。

      步骤二:

        实验性的将其中一台tomcat服务器关掉(将8080端口的关闭),再查看http://localhost ,会发现效果是这样的:一半的请求反应时间很快,一般的请求反应时间很慢,但是最后都可以得到正确的结果。

      分析:

        出现这个效果的原因是在nginx中有一个参数:proxy_connect_timeout  ,即连接的超时时间,默认超时时间是1分钟。当超过1分钟,才会去连接到另一台服务器,而我们在这一分钟只能苦苦等待。

      解决办法:

        分析出来结果了,解决方法自然就有了。将 proxy_connect_timeout  参数的超时时间改小即可。如下图示例:

      

    server {
             listen 80;
             server_name localhost;
    
             upstream localhost {
                 #这里是在同一台服务器上面进行测试,因此只改变端口号即可
               
                 server localhost:8080 weight=2;
                 server localhost:8081 weight=2;
             }
    
             location / {
                 root html;
                 index index.html index.htm;
                 http://localhost; //可通过域名访问
                
                 proxy_connect_timeout 1; #单位为秒
                 proxy_send_timeout 1;
                 proxy_read_timeout 1;
             }
             ...
    }

      之后重新加载nginx的配置文件,或者重启nginx,就能解决问题。

      

  • 相关阅读:
    Django框架之第三篇模板语法
    Django框架之第二篇
    Django框架第一篇基础
    【数学基础】【快速幂运算模板】
    【搜索】【广搜模板】
    【动态规划】【子序列模板】
    [置顶] 【ACM模板】——hello_chengdongni 随着姿势提升,不定期补充
    【搜索入门专题1】 hdu1242 J
    【搜索入门专题1】E
    【搜索入门专题1】hdu1253 【BFS】 F
  • 原文地址:https://www.cnblogs.com/lmyau/p/9159583.html
Copyright © 2020-2023  润新知