gpt4 book ai didi

python - Django 生产中 Gunicorn 的守护进程和 Upscript 的区别

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:25:24 26 4
gpt4 key购买 nike

我正在生产环境中部署一个 Django 站点,现在一周后我无法在/etc/init/project.conf 中获取 Gunicorn 脚本来绑定(bind) Nginx,无论我在 Django 虚拟环境中和在新创建的用户下做什么djagno 位于/home/Django/project/bin/gunicorn。我需要知道我可以使用守护进程在生产环境中运行站点。我知道守护进程只是一个后台进程,没有附加到任何 tty。但是通过从 virtualenv 内部运行命令来创建 pid,例如“gunicorn --bind 127.0.0.1:9500 project.wsgi:application --config=/etc/gunicorn.d/gunicorn.py --name=project -p/tmp/project.pid"不会充当服务吗?我没有虚拟环境的项目工作得很好,但没有虚拟环境。我正在学习 Linux,所以需要专家的建议。我可以启动这样的项目吗?

我无法在 virtualenv 中附加的 upstart 脚本如下所示。

description "Gunicorn daemon for Django project"

start on (local-filesystems and net-device-up IFACE=eth0)
stop on runlevel [!12345]

# If the process quits unexpectadly trigger a respawn
respawn

setuid django
setgid django
chdir /home/django

exec gunicorn \
--name=project\
--pythonpath=project\
--bind=127.0.0.1:9500 \
--config /etc/gunicorn.d/gunicorn.py \
project.wsgi:application

如果有人可以帮助我根据 virtualenv 对其进行更改,我将不胜感激。再次...没有 virtualenv 的我的项目的相同设置工作得很好但不适用于我的第二个网站,唯一的区别是我运行的第一个项目没有 virtualenv,第二个项目来自 virtualenv。

最佳答案

要点是,如果你只是那样运行它,你没有任何责任确保它保持运行:如果进程终止,或者如果你必须重新启动你的服务器,你将不得不重新运行它手动命令。这就是 Upstart 或主管会为您做的事情:监控它是否确实在运行,如果没有,则将其恢复。

如果您需要有关调试 upstart 脚本的帮助,您需要实际发布它以及日志中的任何错误。

关于python - Django 生产中 Gunicorn 的守护进程和 Upscript 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35957894/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com