操作方法
fastcgi缓冲区设置过小出现错误 首先要查找nginx的日志文件,目录为/var/log/nginx,在日志中发现了如下错误: 2016/12/17 13:33:47 [error] 15421#0: *16 upstream sent too big header while reading response header from upstream 意思是nginx缓冲区有一个bug造成的,我们网站的页面消耗占用缓冲区可能过大,解决方法如下图
代理缓冲区设置过小 如果你使用的是nginx反向代理,如果header过大,超出了默认的1k,就会引发上述的upstream sent too big header。意思就是nginx把外部请求给后端处理,后端返回的header太大,nginx处理不过来就会导致502。 解决方法如下图:
默认php-cgi的进程数设置过少 在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加。
php执行超时 修改/usr/local/php/etc/php.ini 将max_execution_time 改为300
nginx等待时间超时 部分PHP程序的执行时间超过了Nginx的等待时间,可以适当增加nginx.conf配置文件中FastCGI的timeout时间
https转发配置错误 正确的配置方法如下:
php脚本执行时间过长 将php-fpm.conf的<value name="request_terminate_timeout">0s</value>的0s改成一个时间