Контроль приложения virtualenv django через супервизора
Я пытаюсь использовать супервизор, чтобы управлять моим проектом django, запускающим gunicorn внутри virtualenv.
Мой файл conf выглядит следующим образом:
[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
Проблема в том, что мне нужен супервизор для запуска команды после запуска "исходного bin/activate" в моем virtualenv. Я висел вокруг Google, пытаясь найти ответ, но ничего не нашел.
Примечание. Я не хочу использовать virtualenvwrapper
Любая помощь, пожалуйста?
Ответы
Ответ 1
документация для активации virtualenv script говорит, что он только изменяет переменную среды PATH, и в этом случае вы можете сделать:
[program:diasporamas]
command=/var/www/django/bin/gunicorn_django
directory=/var/www/django/django_test
environment=PATH="/var/www/django/bin"
...
Начиная с версии 3.2 вы можете использовать расширение переменной, чтобы сохранить существующий PATH:
[program:diasporamas]
command=/var/www/django/bin/gunicorn_django
directory=/var/www/django/django_test
environment=PATH="/var/www/django/bin:%(ENV_PATH)s"
...