我目前正在嘗試使用ubuntu:14.04作爲基礎映像,使用nginx和gunicorn/django/celery運行裏面的docker容器。我正在使用主管開始所有的流程,並進行了測試以確保gunicorn在發生故障時重新啓動。但是,我無法弄清楚如何用nginx做到這一點。確保nginx主進程保持運行
我對Nginx的supervisord.conf如下:
[program:nginx]
command=nginx
autorestart=false
我已經自動重新啓動設置爲false,因爲從我所知道的,Nginx的命令只啓動主進程和工作進程,然後退出狀態碼爲0.如果我將autorestart設置爲true,它只是不斷嘗試重新啓動該nginx命令,由於主/從進程已經在運行並綁定到端口,所以後續重試會失敗。
從表面上看,這似乎沒問題,因爲如果我嘗試殺死一個工作進程,那麼主服務器會啓動另一個工作人員來處理它。但是,我如何確保主進程保持運行?
我不知道我理解的問題,但你不能使用monit的呢? – JustMichael
你能分享你的Dockerfile嗎? – christian