Я пытаюсь настроить nginx + uWSGI для обслуживания моего приложения Django.
Когда я помещал переменные среды в myapp_uwsgi.ini
:
uid = username
gid = username
env = DJANGO_SITE_KEY="..."
работает как ожидалось.
Однако у моего приложения есть несколько команд управления, которые также должны иметь доступ к переменным среды, которые я определил.
Если я поместил переменные среды в /home/username/.bashrc
:
export DJANGO_SITE_KEY="..."
uWSGI не загружает их.
Я попытался поместить переменные среды в отдельный файл:
#!/bin/sh
export DJANGO_SITE_KEY="..."
а затем вызовите его как из .bashrc
:
. /home/username/environment
и myapp_uwsgi.ini
:
exec-pre-app = . /home/username/environment
В журналах uWSGI я вижу эту строку:
running ". /home/username/environment" (pre app)...
Но мое приложение Django не может получить доступ к переменным среды с помощью os.environ
.
Я также попытался поместить команды export
в hook preactivate
virtualenvwrapper и использовать параметр virtualenv =
uWSGI, но он тоже не работает (я полагаю, что крючки выполняются только при использовании команд virtualenvwrapper, таких как workon
.