如何设置 gunicorn?

ado*_*onm 5 server python upstart init

Upstart 不喜欢启动 gunicorn,因为它试图调用 setpgrp(参见github 问题),在 10.04.1 服务器安装上启动 [gunicorn] 的最佳方法是什么?- 理想情况下,自动重启失败的主进程和多个工人。在 gunicorn 网站上,他们提到了 [runit] 和 [supervisord],是否值得在 ubuntu 的新贵旁边安装另一种进程主管?

如果有人没有想出更好的解决方案,我会在考试后在这里记录进度。

好的,我试过了:

respawn
respawn limit 10 5

expect daemon # also tried expect fork

exec python /path/to/manage.py run_gunicorn --daemon
Run Code Online (Sandbox Code Playgroud)

但我似乎无法开始工作,它只是挂起?没有任何显示ps aux | grep manage或系统日志,我猜新贵没有正确地抓住叉子。是因为我使用manage.py而不是gunicorn直接使用吗?我一有机会就直接试一试。

澄清:manage.py来自 django 1.2 实例,gunicorn作为已安装的应用程序,但 settings.py 中没有特殊设置(我不知道在 settings.py 中指定 gunicorns 端口/地址/工人的语法,所以我打算只使用 cmdline参数)

Spa*_*apS 5

我也刚刚在 github 问题中发表了评论。

由于 setpgrp 和 gunicorn 似乎存在一些问题,因此如果使用以下命令运行它可能会得到更好的结果

期待叉子

添加到新贵职位定义中。

所以像

start on runlevel [2345]
stop on runlevel [!2345]

respawn
expect fork

exec /path/to/gunicorn --daemon
Run Code Online (Sandbox Code Playgroud)

应该工作得很好。

'man 5 init' 是一个丰富的信息,应该有助于理解为什么事情会这样。