从400错误引发的故障入手,谈谈如何分析和修复常见的Nginx异常
修复方法: post_max_size = 8M 502错误 Nginx 502 Bad Gateway的含义是请求的PHP-CGI已经执行,但是由于某种原因(一般是读取资源的问题)没有执行完毕而导致PHP-CGI进程终止.一般来说Nginx 502 Bad Gateway和php-fpm.conf的设置有关. 修复方法: ps -aux | grep php-cgi 2、检查系统Fastcgi进程运行情况 除了第一种情况,fastcgi进程数不够用、php执行时间长、或者是php-cgi进程死掉也可能造成Nginx的502错误. 运行以下命令判断是否接近FastCGI进程,如果fastcgi进程数接近配置文件中设置的数值,表明worker进程数设置太少. netstat -anpo | grep “php-cgi” | wc -l 3、FastCGI执行时间过长 根据实际情况调高以下参数值 fastcgi_connect_timeout 300; 504错误 Nginx 504 Gateway Time-out的含义是所请求的网关没有请求到,简单来说就是没有请求到可以执行的PHP-CGI. Nginx 504 Gateway Time-out一般与Nginx.conf的设置有关. 头部太大这种情况可能是由于Nginx默认的fastcgi进程响应的缓冲区太小造成的,这将导致fastcgi进程被挂起,如果你的fastcgi服务对这个挂起处理的不好,那么最后就极有可能导致504 Gateway Time-out. 默认的fastcgi进程响应的缓冲区是8K,可以调大以下参数: fastcgi_buffer_size 128k; 此外,也可能是php-cgi的问题,需要修改php.ini的配置: 将max_children由之前的10改为30,这样操作是为了保证有充足的php-cgi进程可以被使用. 参考资料原文出处:http://dbaplus.cn/news-21-1129-1.html (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |