502是网关错误,504是网关超时
区别
一般是web服务器故障、程序进程不够
使用nginx代理,而后端服务器发生故障;或者php-cgi进程数不够用;php执行时间长,或者是php-cgi进程死掉
都会导致502、504错误。
502 是指请求的php-fpm已经执行,但是由于某种原因而没有执行完毕,最终导致php-fpm进程终止。一般来说,与php-fpm.conf的设置有关,也与php的执行程序性能有关,网站的访问量大,而php-cgi的进程数偏少。针对这种情况的502错误,只需增加php-fpm的进程数。具体就是修改/usr/local/php/etc/php-fpm.conf文件,将其中的max_children值适当增加。这个数据要依据你的服务器的配置进行设置。一般一个php-cgi进程占20M内存,你可以自己计算下,适量增多。然后php-fpm然后重启一下.
504 表示超时,也就是客户端所发出的请求没有到达网关,请求没有到可以执行的php-fpm。与nginx.conf的配置也有关系。