0

我已经设法在我的一个 django 项目上使用 fastcgi 设置了 supervisord,问题是当我让 mi 程序停止时,服务器以某种方式继续运行,并且我的页面保持在线。

这是我的supervisord程序指令:

[program:helloworld]
command=/var/www/django-projects/helloworld/run

这是我的“运行”脚本:

#!/bin/bash

source /var/www/django-projects/helloworld/venv/bin/activate;
/var/www/django-projects/helloworld/manage.py runfcgi \
     daemonize=false \
     host=127.0.0.1 \
     port=8000;

我想要的只是一种使用supervisord停止/启动/重新启动这个django项目的方法,希望你能帮助我。

4

1 回答 1

1

虽然我不使用 fcgi 我几乎可以肯定你的问题在于source /var/www/django-projects/helloworld/venv/bin/activate;

您不应该source在主管启动脚本中使用它,它会更改当前的 shell,并且没有使用 supervisord。相反,只需在 supervisord 脚本中更改您的路径:

directory = /var/www/django-projects/helloworld/
command = /var/www/django-projects/helloworld/manage.py runfcgi \
 daemonize=false \
 host=127.0.0.1 \
 port=8000;

请参阅此答案和有关使用脚本的virtualenv 文档。activate

于 2012-12-23T21:36:07.697 回答