2011-06-30 14 views
45

virtualenv内でgunicornを実行している私のdjangoプロジェクトを管理するためにスーパーバイザを使用しようとしています。 私のconfファイルは、次のようになりますスーパーバイザー経由でvirtualenv djangoアプリケーションを監視する

[program:diasporamas] 
command=/var/www/django/bin/gunicorn_django 
directory=/var/www/django/django_test 
process_name=%(program_name)s 
user=www-data 
autostart=false 
stdout_logfile=/var/log/gunicorn_diasporamas.log 
stdout_logfile_maxbytes=1MB 
stdout_logfile_backups=2 
stderr_logfile=/var/log/gunicorn_diasporamas_errors.log 
stderr_logfile_maxbytes=1MB 
stderr_logfile_backups=2enter code here 

問題がある、それは私のvirtualenvの中で「ソースビン/アクティブ」を実行した後、私は、コマンドを起動するスーパーバイザを必要としています。私は答えを見つけることを試みているGoogleの周りにぶら下がっていたが、何も見つかりませんでした。

注:私は

virtualenvwrapperすべてのヘルプをしてください使用したくありませんか?

答えて

82

virtualenvのためdocumentationスクリプトが、それは唯一のあなたが行うことができ、その場合、PATH環境変数を、変更することを言いますアクティブ:

[program:diasporamas] 
command=/var/www/django/bin/gunicorn_django 
directory=/var/www/django/django_test 
environment=PATH="/var/www/django/bin" 
... 

バージョン3.2以来、あなたも既存のパスを維持するためにvariable expansionを使用することができます。

[program:diasporamas] 
command=/var/www/django/bin/gunicorn_django 
directory=/var/www/django/django_test 
environment=PATH="/var/www/django/bin:%(ENV_PATH)s" 

...

+0

は、:)は、ENVS管理についての何かを読んでいたが、それを適用する方法を見つけませんでした動作しているようです。本当にありがとう、ありがとう! – Oleiade

+0

@ serge-s @michał-modzelewskiしかしこれは 'PATH'環境変数を上書きしませんか?その場合、そのディレクトリに見つからない他のバイナリの検索パスには影響しません。例えば、Ubuntu Linuxの場合、 'PATH'は/home/user_name/bin:/home/user_name/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbinです。/usr/bin:/ sbin:/ bin:/ usr/games:/ usr/local/games:/ snap/bin'を実行します。上書きされたPATHにバイナリが見つからない場合は、元のPATHで指定されたディレクトリでバイナリを検索する必要があります。スーパバイザ設定のパスに追加する方法はありますか(文字列の書式設定など)? –

+0

@LokeshMeherこの答えはかなり古いです。以来、監督者は設定で環境変数を使用するオプションを追加しました。私は元のPATHを含むバージョンで答えを更新しました。 –

関連する問題