码迷,mamicode.com
首页 > 其他好文 > 详细

测试环境 nginx 时好时坏的no live upstreams while connecting

时间:2020-05-21 09:46:44      阅读:56      评论:0      收藏:0      [点我收藏+]

标签:现象   均衡   负载均衡   method   streams   mon   问题   methods   nginx   

环境描述:测试环境LNMP 因为后端是php编写,所以在nginx 配置文件里

 upstream common{
          server 127.0.0.1:9000;
          server 127.0.0.1:9001;
          server 127.0.0.1:9002;
     }

客户端发现两个接口一个一直再报502,一个再报502和500 .然后就开始排查开发模式的DBUG

发现的确存在500现象,但是没有产生502的问题。

然后就怕查到nginx 错误日志里面显示:

[error] 7098#7098: *1537 no live upstreams while connecting to upstream

好像是后端程序时断时好。但是很奇怪,好多测试环境同样的配置文件都没问题

然后参考了

https://blog.51cto.com/xiaosu/1689992 文章发现后端会话的问题。

因为后端的开发没有让我负责测试环境的nginx配置文件的添加

排查配置文件发现

location ~ .php$ {
    expires 60s;
    fastcgi_pass   common;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
 }

文件编写根据nginx提示负载均衡错误发现nginx配置文件存在一定的问题。为了验证我自己的想法更改了。nginx 配置文件如下:

location ~ .php$ {
          expires -1;
          #fastcgi_pass   common;
          fastcgi_pass 127.0.0.1:9002;
          fastcgi_index index.php;
          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
          include fastcgi_params;

          #fastcgi_cache   ngx_fcgi_cache;
          fastcgi_cache_valid 200 302 5m;
          fastcgi_cache_valid 301 5m;
          fastcgi_cache_valid any 1m;
          fastcgi_cache_bypass $skip_cache;
          fastcgi_no_cache $skip_cache;
          fastcgi_cache_min_uses  1;  
          fastcgi_cache_methods  GET HEAD;
          fastcgi_cache_use_stale error  timeout invalid_header http_500;
          fastcgi_cache_key "$scheme$request_method$request_uri";
      }

通过测试发现502问题没有在现。然后500问题提交给后端开发同事解决

测试环境 nginx 时好时坏的no live upstreams while connecting

标签:现象   均衡   负载均衡   method   streams   mon   问题   methods   nginx   

原文地址:https://blog.51cto.com/14142911/2496861

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!