1、解决500错误:php
1、500错误指的是服务器内部错误,也就是服务器遇到意外状况,而没法履行请求。nginx
2、500错误通常有几种状况:web
(1)web脚本错误,如php语法错误,lua语法错误等。后端
(2)访问量大的时候,因为系统资源限制,而不能打开过多的文件服务器
3、通常分析思路:负载均衡
(1)查看nginx error log ,查看php error logide
(2)若是是too many open files,修改nginx的worker_rlimit_nofile参数,使用ulimit查看系统打开文件限制,修改/etc/security/limits.confphp-fpm
(3)若是是脚本的问题,则须要修复脚本错误,并优化代码性能
(4)各类优化都作好,仍是出现too many open files,那就要考虑作负载均衡,把流量分散到不一样服务器上去了优化
2、解决502,504错误
1、使用nginx代理,然后端服务器发生故障;或者php-cgi进程数不够用;php执行时间长,或者是php-cgi进程死掉;已经fastCGI使用状况等都会致使50二、504。
2、502 是指请求的php-fpm已经执行,可是因为某种缘由而没有执行完毕,最终致使php-fpm进程终止。
通常来讲,与php-fpm.conf的设置有关,也与php的执行程序性能有关,网站的访问量大,而php-cgi的进程数偏少。针对这种状况的502错误,只需增长php-cgi的进程数。
具体就是修改/usr/local/php/etc/php-fpm.conf文件,将其中的max_children值适当增长。
这个数据要依据你的VPS或独立服务器的配置进行设置。通常一个php-cgi进程占20M内存,你能够本身计算下,适量增多。
/usr/local/php/sbin/php-fpm restart 而后重启一下.
3、504 表示超时,也就是客户端所发出的请求没有到达网关,请求没有到能够执行的php-fpm。与nginx.conf
的配置也有关系