2017-04-27 9 views
0

私のプロジェクトは、仮想環境でDjango、Nginx、Gunicorn、Supervisorをベースにしています。スーパーバイザでDJANGO_SETTINGS_MODULEを環境変数としてエクスポート

./bin/activateスクリプトの最後に環境変数をエクスポートします。私はsourceファイルをアクティブにするたびに、環境変数をエクスポートします。それはかなりクールです...

スーパーバイザスクリプトを起動すると、私の問題が発生します。 DjangoはSECRET_KEYなどのvarsを取​​得できないため、./bin/activateはソースになっていないようです。

virtualenv binディレクトリに存在しない起動後スクリプトを使用している人がいると聞いていました。私は何か重要なものを逃していますスーパーバイザが./bin/activateスクリプトのソースを取得しないのはなぜですか?

はここに私の上司confにある:

command=/opt/.virtualenvs/plcweb/bin/gunicorn plcweb.config.wsgi -c /opt/plcweb/gunicorn.conf.py 
directory=/opt/plcweb/project 
user=bastien 
autostart=true 
autorestart=true 
redirect_stderr=True 
stdout_logfile=/opt/plcweb/gunicorn.log 
stderr_logfile=/opt/plcweb/gunicorn.log 
+0

しかし、その設定でactivateを呼び出すものはありません。どのようにそれが起こることを期待していますか? –

+0

私は純粋にgunicornを 'pip 'を通してvirtualenvにインストールすると、それが所属するこのvirtualenvにバインドして、それでそれを有効にすると仮定しました。 –

答えて

0

としてはhere説明し、あなたはenvironmentディレクティブと非常にシンプルなソリューションを持っています。 DJANGO_SETTINGS_MODULEをエクスポートするには、スーパーバイザのconfファイルは次のようにする必要があります。

command=/opt/.virtualenvs/plcweb/bin/gunicorn plcweb.config.wsgi -c /opt/plcweb/gunicorn.conf.py 
environment=DJANGO_SETTINGS_MODULE=my_project.settings.production 
directory=/opt/plcweb/project 
user=bastien 
関連する問題