2016-08-03 55 views
1

在不久的將來,我會爲付費用戶部署一個Django/Gunicorn/Nginx網站。這是我的第一個公共網站。有時候我需要暫時關閉網站進行維護。我已經學會了如何配置Nginx以在我進行維護時提供「503網站暫時不可用」頁面,並且我將通過電子郵件提前通知客戶。當您重新啓動Gunicorn時,Django網站會發生什麼情況?

但是,如果我遇到了嚴重問題,需要更改設置或視圖或某些內容,並且我需要重新啓動站點而無需通過重新啓動Gunicorn發出任何預警,那麼從客戶的角度會發生什麼?網站會放慢幾秒鐘?他們的會議會保持完好嗎?還是會失去所有會議?很明顯,如果發生任何寫入操作,將會出現數據庫問題。會發生什麼事情,我是否可以採取任何預防措施來限制損害?

回答

2

只要你不重新啓動gunicorn通過物理切斷服務器的電源,操作系統將有機會正常關閉。這意味着所有當前視圖都會完成,所有未完成的交易都將完成。

假設您在前面使用像nginx這樣的反向代理,並且您立即再次啓動gunicorn,用戶將不可能注意到:請求可能只需要幾分之一秒,就這些了。

會話存儲在文件或數據庫中,因此不受影響。

+0

謝謝丹。得到你的觀點總是很好的。 – William

相關問題