整理#Nginx 502 Bad Gateway错误怎么样解决?
![]() | ![]() | ![]() | ![]() |
| 【性价之王】 | 【线路之王】 | 【价格之王】 | 【配置之王】 |
| 【免费之王】 | 【香港首推】 | 【梯子之王】 | 【独服之王】 |

502 Bad Gateway这种错误提示不管是小七自己的站还是其他站在浏览网页时常常会碰到一些nginx环境出现这类提醒了,下面我来给大家解决在使用nginx服务器时出来的502(Bad Gateway)错误。
Nginx 502 Bad Gateway的含义是请求的PHP-CGI已经执行,但是由于某种原因(一般是读取资源的问题)没有执行完毕而导致PHP-CGI进程终止,
一般来说Nginx 502 Bad Gateway和php-fpm.conf的设置有关。
php-fpm.conf有两个至关重要的参数,一个是max_children,
另一个是request_terminate_timeout,但是这个值不是通用的,而是需要自己计算的。
在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加。
计算的方式如下:
如果你的服务器性能足够好,且宽带资源足够充足,PHP脚本没有死循环或BUG的话你可以直接将 request_terminate_timeout设置成0s。0s的含义是让PHP-CGI一直执行下去而没有时间限制。而如果你做不到这一点,也就 是说你的PHP-CGI可能出现某个BUG,或者你的宽带不够充足或者其他的原因导致你的PHP-CGI假死那么就建议你给request_terminate_timeout赋一个值,这个值可以根据服务器的性能进行设定。一般来说性能越好你可以设置越高,20分钟-30分 钟都可以。
而max_children这个值又是怎么计算出来的呢?这个值原则上是越大越好,php-cgi的进程多了就会处理的很快,排队的请求就会很少。 设置max_children也需要根据服务器的性能进行设定,一般来说一台服务器正常情况下每一个php-cgi所耗费的内存在20M左右。
按照官方的答案,排查了相关的可能,得出了下面的几种解决办法。
1、查看php fastcgi的进程数(max_children值)
代码:netstat -anpo | grep “php-cgi” | wc -l
5(假如显示5)
2、查看当前进程
代码:top
观察fastcgi进程数,假如使用的进程数等于或高于5个,说明需要增加(根据你机器实际状况而定)
3、调整/usr/local/php/etc/php-fpm.conf 的相关设置
<value name=”max_children”>10</value>
<value name=”request_terminate_timeout”>60s</value>
max_children最多10个进程,按照每个进程20MB内存,最多200MB。
request_terminate_timeout执行的时间为60秒,也就是1分钟。
打开nginx访问日志,访问量并不高,平均每秒也就10个不到的请求IP,所以,按理,这点访问量,不可能导致出现PHP请求过多,出现502的。
打开php-fpm.conf日志,出现很多PHP警告问题,
再调整php-fpm的pm模式为pm = dynamic,
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 10000
重启php-fpm后,用ps查看php进程:
ps -ef |grep -c php-fpm
22
刚开始,访问PHP很快,然后越来越慢,再次查看进程
ps -ef |grep -c php-fpm
28
从日志和进程变化来看,可以断定是PHP程序出现的问题,是PHP请求太多造成的。大概就是PHP页面中,调用了太多PHP的请求。把这个问题告诉开发后,开发解决之后,服务器再没出现502。
从上面配置来看我们是配置了一个请求数量了,当然这个配置不是最佳的哦,如果你还碰到此类问题可以对参数进行调整。
[教程分享]历史优惠活动内容
猜你可能想看的VPS
- RAKsmart→圣何塞 G 口不限服务器低至每月 199 美元 买 1全球[VPS测评]
- R9Host→€2.99 月 512MB 内存 15GB NVMe 空间虚拟空间(主机)
- TMThosting→达拉斯大硬盘 KVM 九折 西雅图 KVM 七五折全球[VPS测评]
- 高防服务器 98 美元每月 E3-1270v2 16G 内存 1G 端口全球[VPS测评]
- HKBTELE→699 元 月 E3-1225 16G 内存 1TB 硬日本VPS[主机]
- 禁止浏览器自动填充 input 用户名密码全球[VPS测评]
- JQuery 动态修改 onclick 函数的参数值全球[VPS测评]
- 送美元 RackNerd 春节促销→登陆 购买最高送$188 红包 独立独立服务器[U]
- 价格过高-Wired Blade→$5 月 2GB 内存 20GB NV虚拟空间(主机)
- HKServerSolution CN 常州高带宽 VDS,电信联通线路全球[VPS测评]
- 新春优惠 ZJI→自营香港大埔 E5 配置五五折优惠 CN2 线路 价格香港VPS[主机]
- [11.11]ZJI→香港服务器 65 折 日本站群服务器 7 折 充 站群服务器[IP]
- WordPress插件:The Paste方便图片粘贴上传全球[VPS测评]
- 哪种类型的网站最容易获得Adsense稳定收入?全球[VPS测评]
- V5.NET新上台湾独服/香港平价独服 新用户首单七折 香港独服HKD3香港VPS[主机]
- akkocloud圣何塞/德国cn2gia,带宽免费升级300Mbps,全球[VPS测评]
- 个人博客平台选择 Typecho 还是 WordPress ?全球[VPS测评]
- IT-sakh 俄罗斯萨哈林 (世界尽头)勘察加 VPS 60元 月 1全球[VPS测评]
- WHMCS 8.1如何简化注册页面全球[VPS测评]
- wordpress 上传附件报错 “抱歉,出于安全的考虑,不支持此文件类全球[VPS测评]
- 咖啡主机怎么样?美国洛杉矶高防vps,cn2直连,香港沙田vps美国VPS[主机]
- 2020年国外VPS哪个最好?教你学会选择国外VPS全球[VPS测评]
- 阿里行癫:如何理解当下的云计算全球[VPS测评]
- VPSPlayer,超便宜香港cn2线路小带宽VPS,2核4G内存仅30香港VPS[主机]
- UCloud海外节点vps活动:香港、台湾等全球14个机房1折起,最低仅香港VPS[主机]
- 56云服务器怎么样?56云免备案香港云服务器价格多少钱?香港VPS[主机]
- 桔子数据怎么样?便宜香港安畅CN2 VPS1核1G10M 28/月香港VPS[主机]
- 1分钟快速读懂云计算全球[VPS测评]
- 月神科技:香港安畅/沙田机房VPS,2核2G10M带宽仅20元/月香港VPS[主机]
- 快云科技:2核2G3M香港云BGP/新界CN2云服务器,月付33元香港VPS[主机]
转载请注明原文地址:http://140.238.13.167:12355/read-76832.html











