在将Django项目推向生产时,我正在使用Supervisor重新加载Gunicorn :
工作流程:
" && python manage.py migrate"\
" && python manage.py collectstatic --noinput"\
" && supervisorctl restart frontdesk-gunicorn"\
" && exit"
主管配置:
[program:project-gunicorn]
command=/home/gaetangr/project/myprojectenv/bin/gunicorn config.wsgi:application
user = gaetangr
directory = /home/gaetangr/project
autostart = true
autorestart = true
但大多数时候,为了传播所有的变化,我必须做一个 sudo :
systemctl restart gunicorn
据我了解,主管的命令应该完全相同。
任何想法 ?
superviserd
通过创建子流程来管理流程。如果您开始gunicorn
,systemctl
那么superviserd
将对此一无所知gunicorn
并且将无法重新启动它。仅使用一个流程管理系统 - 要么supervisord
要么systemd
。