浏览 2k
业务高峰期部分请求报502错误,
ERROR日志提示 no live upstreams while connecting to upstream,但后端第二层NGINX服务器日志无502,第二层的NGINX没有收到前端NGINX的502错误请求,请问是NGINX配置还是后端服务原因,从哪几个方面去排除?
结构:互联网—> NGINX代理—>第二层NGINX代理->PHP服务
按点赞数排序
按时间排序
导致502的一个常见原因,是三次握手建立失败了,你可以用netstat统计下,是否存在报文丢失等情况,如果是的话,报502就是正常的,此时你可以通过Nginx的next upstream机制,在Nginx层通过重新转发请求把502错误化解掉。
5
回答于2020-08-28 17:49
502 bad gateway的原因有多种,这是其中一的一种,仅供参考!
首先查找php-fpm位置:
1.find / -name php-fpm;
2.查看listen值;
打开nginx配置文件,查看fastcgi_pass配置项值;
fastcgi_pass 127.0.0.1:9000;
使用grep查看 php-fpm是否运行;
1.netstat -ant | grep 9000
2.结果为空,说明php-fpm未运行;
因此,将nginx配置文件中fastcgi_pass配置项改为 unix:/tmp/php-cgi.sock;
fastcgi_pass unix:/tmp/php-cgi.sock;
保存,并重启nginx;
/usr/local/nginx/sbin/nginx -s reload
再次访问,运行成功!!
3
回答于2020-08-28 10:00
这个之前遇到过是因为nginx upstream的默认监控检查的问题,可以在upstream里加上max_fails=0 fail_timeout=0试试。
2
回答于2020-08-28 16:37
楼主你好,请问这个502的问题解决了吗?目前我们这边也是互联网-》NGINX代理-》后端服务,在请求量不大的情况下,ERROR日志提示 no live upstreams while connecting to upstream,但是此时后端服务都是正常的,收不到来着NGINX的请求,就只能看到NGINX的日志返回了502给客户端了
0
回答于2023-05-24 09:22