主管没有使用 Django 项目正确地重新加载 Gunicorn
Supervisor not reloading Gunicorn properly with Django project
在将 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
根据我的理解,主管的命令应该完全相同。
有什么想法吗?
过了一段时间我弄明白了所以给你。
我本来用一个service到运行Gunicorn,就是这样安静了一段时间,后来我发现这个:
superviserd manages processes by creating subprocesses. If you start gunicorn with systemctl then superviserd won't know anything about this gunicorn and won't be able to restart it. Use only one process managment system - either supervisord or systemd.
在我的例子中,我不得不删除服务 运行ning Gunicorn 以及套接字,并更新我的 Nginx 配置以删除 Gunicorn 的代理服务 link。
在将 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
根据我的理解,主管的命令应该完全相同。
有什么想法吗?
过了一段时间我弄明白了所以给你。
我本来用一个service到运行Gunicorn,就是这样安静了一段时间,后来我发现这个:
superviserd manages processes by creating subprocesses. If you start gunicorn with systemctl then superviserd won't know anything about this gunicorn and won't be able to restart it. Use only one process managment system - either supervisord or systemd.
在我的例子中,我不得不删除服务 运行ning Gunicorn 以及套接字,并更新我的 Nginx 配置以删除 Gunicorn 的代理服务 link。