注册

PHP接口问题,一直报502 Bad Gateway

服务器操作系统是centos,应用服务器是nginx。
同一环境下其它php程序运行都没问题。
已邀请:

itboy - 90后

可参考以下几种方案进行排查:

1

目前lnmp一键安装包比较多的问题就是502 Bad Gateway,大部分情况下原因是在安装php前,脚本中某些lib包可能没有安装上,造成php没有编译安装成功。

解决办法:可以尝试根据lnmp一键安装包中的脚本手动安装一下,看看是什么错误导致的。




2

在php.ini里,eaccelerator配置项一定要放在Zend Optimizer配置之前,否则也可能引起502 Bad Gateway


3

在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加。


4

php执行超时,修改/usr/local/php/etc/php.ini 将max_execution_time 改为300


5

磁盘空间不足,如mysql日志占用大量空间


6

查看php-cgi进程是否在运行


7

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值适当增加。
我也是一直502。
如果你的php服务器是在国外的话 很大的可能是国外访问restful不稳定造成的!这种问题一般体现为:程序能正常使用,但是某个时间段(3-60s)左右 会一直报502,然后又正常了!这种情况是在指定时间内节点被指向了海外节点。
我的解决方案是:买一台国内的服务器  然后做ip代理  服务端如果出错,就国内服务器代理发送 基本能够在做到正确的发送。

要回复问题请先登录注册