作为一个开发人员经常会遇到网站报502 bad gateway,产生这个原因的有很多,接下来免费资源网为大家介绍一下502 bad gateway问题的解决方法,有需要的小伙伴可以参考一下:
1、介绍:
502 Bad Gateway是指错误网关,无效网关;在互联网中表示一种网络错误。表现在WEB浏览器中给出的页面反馈。它通常并不意味着上游服务器已关闭(无响应网关/代理) ,而是上游服务器和网关/代理使用不一致的协议交换数据。鉴于互联网协议是相当清楚的,它往往意味着一个或两个机器已不正确或不完全编程。
2、产生原因(PHP开发环境):
(1)、php-cgi进程过少,可以通过修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加;
(2)、执行超时,可以通过修改/usr/local/php/etc/php.ini 将max_execution_time 改为300
(3)、磁盘空间不足,可以使用 # df -h命令查看磁盘使用量
(4)、php-cgi进程卡死
3、排查方法:
(1)、查看php fastcgi的进程数
netstat -anop | grep php-cgi | wc -l netstat -anpo | grep php-fpm | wc -l
(2)、查看当前进程,如果进程数过多,增加进程数量:
ps aux | grep php-fpm
(3)、调整/usr/local/php/etc/php-fpm.conf 的相关设置:
pm.max_children = 5 request_terminate_timeout = 60
(4)、适当增加Nginx.conf配置文件中FastCGI的timeout时间
http { ...... fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; ...... }