Deployment

主管沒有載入新的配置文件

  • July 26, 2020

我在使用 Gunicorn 和 Supervisor 部署 Django 應用程序時遇到問題。雖然我可以讓 Gunicorn 為我的應用程序服務(通過設置正確的 PYTHONPATH 並執行適當的命令,來自 supervisord config 的命令),但我無法讓主管執行它。它只是看不到我的應用程序。我不知道如何確定配置文件是否正常。

這是 supervisorctl 所說的:

# supervisorctl start myapp_live
myapp_live: ERROR (no such process)

我在 Ubuntu 10.04 上使用以下配置執行它:

文件 /home/myapp/live/deploy/supervisord_live.ini:

[program:myapp_live]
command=/usr/local/bin/gunicorn_django --log-file /home/myapp/logs/gunicorn_live.log --log-level info --workers 2 -t 120 -b 127.0.0.1:10000 -p deploy/gunicorn_live.pid webapp/settings_live.py
directory=/home/myapp/live
environment=PYTHONPATH='/home/myapp/live/eco/lib'
user=myapp
autostart=true
autorestart=true

在 /etc/supervisor/supervisord.conf 文件的最後,有:

[include]
files = /etc/supervisor/conf.d/*.conf

這是我的配置文件的符號連結:

# ls -la /etc/supervisor/conf.d
lrwxrwxrwx 1 root root   48 Dec  4 18:02 myapp-live.conf -> /home/myapp/live/deploy/supervisord_live.ini

對我來說一切都很好,但 supervisorctl 只是一直說myapp_live: ERROR (no such process)。有什麼解決辦法嗎?

我有同樣的問題,一個

sudo service supervisord reload

成功了,雖然我不知道這是否是你問題的答案。

正確的答案是,supervisor 要求您在放置新的配置文件時重新讀取*和更新。*重啟不是答案,因為這會影響其他服務。嘗試:

supervisorctl reread
supervisorctl update

引用自:https://serverfault.com/questions/211525