php 分析 504 Gateway Time-out

1.问题

 2.nginx日志

3.测试

经验证虽然报504网关超时,但是接口仍执行完成了。(可以写日志验证)

4.如何防止出现504呢? 

fastcgi_read_timeout

配置语法: fastcgi_read_timeout 时间(单位为s)

默认值: fastcgi_send_timeout 60s;

配置区域: http server location

配置项说明:指定nginx接受后端fastcgi响应请求超时时间 (指已完成两次握手后nginx接受fastcgi响应请求超时时间)

我是在程序中sleep(60);

然后我调整成了fastcgi_send_timeout 120s;

nginx -s reload

结果完美解决。

总结:

504是gateway timeout 网关超时 , 如果fpm响应的太慢 , 超过了nginx里面配置的fastcgi_read_timeout  超时时间  , 就会出现这个错误。

像这种请求超时问题,一般采取的解决办法就是放到cli去处理。

 


版权声明:本文为zk_jy520原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。