django+nginx+uwsgi 504 Gateway Time-out 解決辦法


django+nginx+uwsgi 504 Gateway Time-out 解決辦法

技術標簽: django  nginx  uwsgi

 
 

報錯

504  Gateway Time-out

分析

nginx和uwsgi整合時有三個參數可以用於設置超時時間:


1.uwsgi_connect_timeout:

默認60秒,與uwsgi-server連接的超時時間,該值不能超過75秒.若在超時時間內未能成功連接則斷開連接嘗試

2.uwsgi_read_timeout:

默認60秒,nginx等待uwsgi進程發送響應數據的超時時間。若有需要長時間運行才能產生輸出結果的uwsgi進程則需將此參數調高。若在錯誤日志文件中看到 upstream timed out需將此參數調高。若超過超時時間還未收到響應則nginx關閉連接。

3.uwsgi_send_timeout:

默認60秒,nginx向uwsgi進程發送請求的超時時間。超時時間由兩次寫操作的時間間隔算,而非整個請求。若超過超時時間仍沒寫入動作則nginx關閉連接。


另外:uwsgi自身還有一個參數harakiri,若每次請求需要花費超過該值的時間則放棄該請求處理相應的worker被收回

解決

在nginx配置的server - location中添加 uwsgi_send_timeout 和 uwsgi_read_timeout




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM