经常我们会遇到502错误 , 502错误究竟是啥呢 , 在字面意思是指bad gateway 网关错误 , 网关是啥

在我们的nginx + php-fpm中 , nginx相当于网关 ,但是这里的错误却是指的nginx的上游服务出错了 , 也就是fpm出错了.

nginx连不上fpm或者fpm自身超时的时候 , 会返回这个错误 .

在fpm的配置php.ini配置文件中 

max_execution_time

以及fpm的配置文件比如www.conf中

request_terminate_timeout

这俩值代表当前脚本的执行超时时间 , 如果脚本里面运行的太慢 , 超过了php或者fpm设置的超时时间 , nginx就会报502

 

504错误和502是不一样的 ,504是gateway timeout 网关超时 , 这里就是指的nginx里面配置的超时时间超过了 

fastcgi_read_timeout 

如果fpm响应的太慢 , 但是没有超过他自己设置的时间, 但是超过了nginx这个时间 ,nginx就会报504

 

499是指的客户端主动断掉了连接  , 一般不常见 , 但是在我们后端互相进行系统调用的时候 , 可能会出现比如curl扩展那里也能设置超时时间 , 如果超过了 ,我作为客户端主动断掉连接 , 对方服务端那里会报499

 

500就是代码里面语法有错误