2011-06-30 13 views
45

Próbuję użyć nadzorcy, aby zarządzać moim projektem django z uruchomionym gunicorn wewnątrz virtualenv. Mój plik conf wygląda następująco:Nadzorowanie virtualjanv django app przez opiekuna

[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 

Problem polega na tym, muszę przełożonego, aby uruchomić komendę po jej uruchomieniu „źródło bin/aktywować” w moim virtualenv. Wałęsałem się po Google, próbując znaleźć odpowiedź, ale niczego nie znalazłem.

Uwaga: Nie chcę używać virtualenvwrapper

Każda pomoc proszę?

Odpowiedz

82

The documentation dla virtualenv aktywować skrypt mówi, że tylko modyfikuje zmienną środowiskową PATH, w którym to przypadku można zrobić:

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

Od wersji 3.2 można użyć variable expansion aby zachować istniejącą ścieżkę też:

[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

wydaje się działać :) Czytałem coś o zarządzaniu envs ale nie znaleziono jak go stosować. Dziękuję, naprawdę! – Oleiade

+0

@ serge-s @ michał-modzelewski Ale czy to nie zastępuje zmiennej środowiskowej 'PATH'? Jeśli tak jest, nie wpłynie to na ścieżkę wyszukiwania dla innych plików binarnych nie znalezionych w tym katalogu. Na przykład w systemie Ubuntu Linux 'PATH' to' /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'. Jeśli jakiś plik binarny nie zostanie znaleziony w nadpisanej zmiennej PATH, powinien zostać przeszukany w katalogach określonych w oryginalnej ścieżce PATH. Czy istnieje sposób dołączania do ścieżki w konfiguracji administratora (na przykład przy użyciu formatowania ciągów znaków)? –

+0

@LokeshMeher Ta odpowiedź jest dość stara. Odtąd superwizor dodał opcję używania zmiennych środowiskowych w konfiguracji. Zaktualizowałem odpowiedź wersją, która zawiera oryginalną ścieżkę PATH. –

Powiązane problemy