2012-12-23 60 views
0

我已經成功地建立supervisord對我的Django項目FastCGI的,問題是,當我讓MI程序停止,服務器保持運行不知何故,我的網頁保持在線。Supervisord管理FCGI和Django的

這裏是我的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項目, 希望你能幫我。

回答

1

雖然我不使用FCGI我幾乎可以肯定,你的問題在於source /var/www/django-projects/helloworld/venv/bin/activate;

你不應該使用source主管內啓動腳本,它改變了當前的外殼以外並沒有與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; 

this answervirtualenv documentation上使用activate腳本。

+0

嗨@Density我把你約的virtualenv的建議,但它仍然無法正常工作,您是否能告訴我你用?你如何配置它哪個服務器? – danielrvt

+0

我終於設法讓它運行,但使用gunicorn,雖然我真的想使用fastcgi。 – danielrvt