Nginx的500,502,504错误解决方法

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

          的配置也有关系

相关文章
相关标签/搜索