我有一个django网站,它使用环境变量DJANGO_MODE来决定使用哪些设置 - 开发或登台.环境变量在bashrc使用开发服务器运行应用程序时,一切正常.
但是当我使用app运行时uWSGI,它似乎没有注意到环境变量并使用默认(开发)设置而不是生产.
我uWSGI在Emperor模式下运行,除了环境变量忽略之外,一切似乎都运行良好.是的,运行的用户uWSGI与bashrc已DJANGO_MODE设置的用户相同.
用于运行的命令uWSGI是 -
exec uwsgi --emperor /etc/uwsgi/vassals --uid web_user --gid --web_user
Run Code Online (Sandbox Code Playgroud)
和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
Run Code Online (Sandbox Code Playgroud)
rob*_*rto 10
它不能工作,因为bash读取bash配置文件.你必须在皇帝或附庸中设置var(第二个是更好的方法).只需添加
env=DJANGO_MODE=foobar
Run Code Online (Sandbox Code Playgroud)
到你的配置(不要使用空格).
| 归档时间: |
|
| 查看次数: |
6007 次 |
| 最近记录: |