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スーパーバイザーの起動スクリプト内では使用しないでください。現在のシェルが変更され、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 に答える