Django+uwsgi+Nginx 504 Gateway Time out

Django+uwsgi+Nginx 504 Gateway Time out_第1张图片

遇到504错误,加了好多打印信息,发现打印出来都没毛病。

接着猜想是正式环境的数据和本地测试环境的数据不一样,又把正式环境的数据导回到本地测试,结果发现两者打印信息一模一样,但本地就可以正常打开网页,而正式环境就报504错误。

在对比了日志之后,发现正式环境的日志打到了某一处就没了,猜想这个时候应该是某个超时机制生效导致程序不再往下走了。

一开始找了好多答案,有说nginx.conf里设置fastcgi超时时间的

fastcgi_connect_timeout 300s;
fastcgi_send_timeout 300s;
fastcgi_read_timeout 300s;

但设置了之后发现没用,最后在https://blog.csdn.net/tmpbook/article/details/43734699这篇文章中找到答案——

原来我的nginx配置文件里设置了uwsgi_read_timeout为2秒

Django+uwsgi+Nginx 504 Gateway Time out_第2张图片

把它改大一点就OK了。

启发:

这次找Bug浪费了大半天时间,如果一早先排查正式配置文件,就可以避免做无用功。看到返回码504,应该先排查一遍环境的超时配置。

 

你可能感兴趣的:(Linux,Django,Python)