Nginx + PHP(php-fpm)遇到的502 Bad Gateway错误
使用Nginx经常会跳出502错误,错误当然不能忽略。
Nginx才刚刚开始用,有问题就有进步的机会。下面就研究一下问题原因。
先查看错误日志,Nginx跟Apache不同之处在于PHP的脚本错误不会出在Nginx的log中,所以当出现502错误的时候,必须查看php-fpm的log,下一篇介绍如何调出php-fpm的具体错误log。
通过查看php-fpm 的error.log可以发现部分PHP程序的执行时间超过了Nginx的等待时间,可以适当增加nginx.conf配置文件中FastCGI的timeout时间。
根据该文章
http://rtcamp.com/wordpress-nginx/tutorials/php/increase-script-execution-time/
1)将php脚本的执行时间从30s修改喂300s,修改php.ini
如果不清楚位置的话可以从phpinfo()中找到
在Apache中,只需要修改这步就可,但是在Nginx中还需要一下两部
2)修改php-fpm配置
vim /etc/php-fpm.d/www.conf
3)修改Nginx配置
vim /etc/nginx/conf.d/www.conf
接下来restartphp-fpm和Nginx
可以看看效果了。
另外php-cgi进程数不够用、php执行时间长、或者是php-cgi进程死掉,都会出现502错误。
在学习过程中遇到任何技术上的问题没有及时解决,推荐一个不错的微信公众号:【拓胜科技】会有专业的技术人员为你解决。
【拓胜科技】专注于分享最全的编程开发视频学习资料、学习经验。目前已经整理出Java,Android,UID,PHP,iOS等等教学视频,
|