簡體   English   中英

在具有主管的情況下運行nginx / postgres-是否必需?

[英]running nginx/postgres with supervisord - required?

在我見過的所有標准django生產設置模板中,gunicorn是與超級用戶一起運行的,而nginx / postgres沒有在超級用戶下配置。

任何原因? 生產系統需要這嗎? 如果沒有,為什么不呢?

在這種架構中,Gunicorn充當運行我們的Django代碼的應用服務器。 Supervisor只是一個進程管理實用程序,如果崩潰,它將重新啟動Gunicorn服務器。 由於我們的錯誤代碼,Gunicorn服務器可能會崩潰,但是nginx和postgres保持不變 因此,在基本配置中,我們僅通過主管來監督gunicorn進程。 盡管我們也可以對nginx和postgres做同樣的事情。

您需要gunicorn的主管,因為它是一台簡單的服務器,沒有任何工具可以重新啟動它,在系統啟動時運行,在系統關閉時停止它或在崩潰時重新加載。

Postgresql和nginx可以在這方面照顧好自己,因此無需在超級用戶下運行它們。

實際上,您可以只使用init.d,upstart或system.d來啟動,停止和重新啟動gunicorn,supervisor是處理諸如gunicorn之類的小型服務器的簡便方法。

還請考慮在一個系統上運行多個django應用程序是常見的,並且需要多個單獨的gunicorn實例。 主管將比init,upstart或system.d更好地處理它們

還有uWSGI服務器不需要主管,因為它具有內置功能來處理多個實例,可以在代碼更改時啟動,停止以及自動重新加載。 看一下uWSGI皇帝系統。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM