我已经设法在我的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项目的方法,希望你能帮助我。
答案 0 :(得分: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;
使用activate
脚本查看this answer和virtualenv documentation。