Python 带着虚拟说唱歌手的Gunicorn
我正在做一些重命名django项目的工作,我想使用virtualenv包装器,而不是将venv留在项目目录中 如果我从shell运行gunicorn命令,那么它会启动,一切都会正常进行,但是当我使用Python 带着虚拟说唱歌手的Gunicorn,python,django,gunicorn,Python,Django,Gunicorn,我正在做一些重命名django项目的工作,我想使用virtualenv包装器,而不是将venv留在项目目录中 如果我从shell运行gunicorn命令,那么它会启动,一切都会正常进行,但是当我使用sudo服务gunicorn name start使用以下脚本执行时,它不会运行。为什么它要从终端运行,而不是从upstart脚本运行 description "Gunicorn daemon for Django project" start on (local-filesystems and n
sudo服务gunicorn name start
使用以下脚本执行时,它不会运行。为什么它要从终端运行,而不是从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 /usr/share/nginx/myproj
exec /root/.virtualenvs/myproj/bin/gunicorn \
--name=langalang \
--pythonpath=/usr/share/nginx/myproj/myproj \
--bind=0.0.0.0:9000 \
--config /etc/gunicorn.d/gunicorn-myproj.py \
myproj.wsgi:application
syslog正在打印一堆这些
Aug 19 03:11:30 langalang kernel: [17196647.476140] init: gunicorn-myproj main process ended, respawning
Aug 19 03:11:30 langalang kernel: [17196647.665706] init: gunicorn-myproj main process (16745) terminated with status 1
Aug 19 03:11:30 langalang kernel: [17196647.665721] init: gunicorn-myproj respawning too fast, stopped
它应该在
/var/log/syslog
中返回一个错误。检查一下,它会给你一个非常清晰的指针,告诉你哪里出了问题。最好,把syslog的输出也粘贴到这里。真不敢相信我忘了检查它,我正在检查我的gunicorn日志,结果什么都没有。我仍然无法理解他们的日志试图告诉我的是什么,这意味着你的gunicorn进程在产卵时就已经死亡。所以当它第一次繁殖时,它会立即死亡,由于你的新贵脚本而重生,然后立即死亡。由于它发生得非常快,upstart会一起停止您的程序以避免崩溃。还有什么我可以进一步跟踪它的吗?您的脚本看起来很好。我在我的项目中尝试了它,只是将目录和uid
&gid
分别更改为vagrant
和www-data
,因为这是我在设置中使用的。这对我来说很好。您可以对不同的用户和/或目录进行相同的尝试。您还应该从脚本中删除运行级别1,它不是必需的,所以不需要它,1只是单用户模式。您可能永远不会在该模式下运行系统进行部署。它应该在/var/log/syslog
中返回一个错误。检查一下,它会给你一个非常清晰的指针,告诉你哪里出了问题。最好,把syslog的输出也粘贴到这里。真不敢相信我忘了检查它,我正在检查我的gunicorn日志,结果什么都没有。我仍然无法理解他们的日志试图告诉我的是什么,这意味着你的gunicorn进程在产卵时就已经死亡。所以当它第一次繁殖时,它会立即死亡,由于你的新贵脚本而重生,然后立即死亡。由于它发生得非常快,upstart会一起停止您的程序以避免崩溃。还有什么我可以进一步跟踪它的吗?您的脚本看起来很好。我在我的项目中尝试了它,只是将目录和uid
&gid
分别更改为vagrant
和www-data
,因为这是我在设置中使用的。这对我来说很好。您可以对不同的用户和/或目录进行相同的尝试。您还应该从脚本中删除运行级别1,它不是必需的,所以不需要它,1只是单用户模式。你可能永远不会在那种模式下运行系统来部署。