У меня есть веб-сайт django, который использует переменную среды DJANGO_MODE
, чтобы решить, какие настройки использовать - разработку или постановку. Переменная среды находится в bashrc
, и при запуске приложения с помощью сервера разработки все работает нормально.
Но когда я запускаю приложение с помощью uWSGI
, оно, похоже, не замечает переменную среды и использует настройки по умолчанию (разработка) вместо производства.
Я запускаю uWSGI
в режиме Императора, и, кроме игнорирования переменной среды, все работает нормально. И да, пользователь, запускающий uWSGI
, тот же, для которого bashrc
установлен DJANGO_MODE
.
Команда, используемая для запуска uWSGI
:
exec uwsgi --emperor /etc/uwsgi/vassals --uid web_user --gid --web_user
И файл ini
для вассала -
[uwsgi]
processes = 2
socket = /tmp/uwsgi.sock
wsgi-file = /home/web_user/web/project_dir/project/wsgi.py
chdir = /home/web_user/web/project_dir
virtualenv = /home/web_user/.virtualenvs/production_env
logger = syslog
chmod-socket = 777