nginx出现504 Gateway Time-out错误的原因分析及解决
1、查看公网带宽是否被打满
2、查看网络是否有波动(可以在nginx上ping后端服务,看是否有丢包情况)
3、查看服务器资源使用情况(cpu、内存、磁盘、网络等)
4、查看nginx日志,具体到哪个服务的哪个接口访问504
tail -f /var/log/nginx/access.log|grep -w 504
5、elk或直接登录到服务器查看服务日志
从上面可以看出,出现504 Gateway Time-out错误的原因是后端接口响应超时(68s左右),nginx的proxy超时时间配置默认超时时间是60s
解决:
1、临时调整nginx配置
在对应location段添加一下配置
proxy_pass http://backend;
proxy_connect_timeout 100s;
proxy_read_timeout 100s;
proxy_send_timeout 100s;