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去处理。
来源地址:https://blog.csdn.net/zk_jy520/article/details/126776300