Django+uwsgi+Nginx 504 Gateway Time out

遇到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秒

把它改大一點就OK了。

啓發:

這次找Bug浪費了大半天時間,如果一早先排查正式配置文件,就可以避免做無用功。看到返回碼504,應該先排查一遍環境的超時配置。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章