Как установить переменные среды в службе Supervisor

Как вы экспортируете переменные среды в команду, выполняемую Supervisor? Я сначала попробовал:

command="export SITE=domain1; python manage.py command"

но супервизор сообщает "не удается найти команду".

Итак, я попробовал:

command=/bin/bash -c "export SITE=domain1; python manage.py command"

и команда запускается, но это, кажется, мешает демонизации, поскольку, когда я останавливаю демона Supervisor, все другие запущенные им демоны не останавливаются.


person Cerin    schedule 12.06.2013    source источник


Ответы (2)


Чтобы добавить одну переменную среды, вы можете сделать что-то вроде этого.

[program:django]
environment=SITE=domain1
command = python manage.py command

Но если вы хотите экспортировать несколько переменных среды, вам нужно разделить их запятой.

[program:django]
environment = 
    SITE=domain1,
    DJANGO_SETTINGS_MODULE=foo.settings.local,
    DB_USER=foo,
    DB_PASS=bar
command = python manage.py command
person ChillarAnand    schedule 04.11.2014
comment
Как мы можем сделать это автоматически? Допустим, нам нужно установить переменную окружения при запуске сервера. Итак, как мы можем настроить это с помощью сценария запуска? - person Jananath Jayarathna; 11.11.2020

Просто сделайте это отдельно:

environment=SITE=domain1
command=python manage.py command

Дополнительную информацию см. на странице http://supervisord.org/subprocess.html#subprocess-environment.

person neko_ua    schedule 12.06.2013
comment
Переменные среды PORT=8000 command=uwsgi --ini uwsgi.ini --http :‹PORT› Как использовать его в командной строке? - person josuedjh; 23.11.2020