【发布时间】:2017-11-25 09:13:01
【问题描述】:
大家!
AWS 中的 Django 1.11 + PostgreSQL 9.6 + Gunicorn + Ubuntu 16.04
我想为敏感信息设置环境变量。(django密钥,数据库密码...)
我研究了很多关于设置方法的文章。
但是当我尝试 os.environ['env_name'] 时,
.bashrc:不工作
.bash_profile:不工作
.profile:不工作
/etc/environment:不工作
Gunicorn 脚本文件。(systemd):我将它们设置在 gunicorn systemd 脚本中。它工作得很好。
但是因为我也想在其他程序中使用环境变量,所以我将它们设置在1~5个配置之间。我不明白为什么 1~5 配置不起作用。设置环境变量是否有范围或优先级?
编辑:
我使用 Ubuntu 16.04 服务器。我无法重新启动终端会话。
我尝试了“source .bashrc”并注销/登录。但它没有用。
当然,'echo $some_env_var' 工作正常,我说 django 无法读取。
【问题讨论】:
-
在 .bashrc 中设置环境变量应该可以。设置环境变量并重新启动终端会话后,确保您有源 .bashrc。
-
您需要确保为实际运行服务器的用户设置它们。
-
我使用 Ubuntu 16.04 服务。我无法重新启动终端会话。
-
请注意,注销/登录与重新启动终端会话相同。
-
@DanielRoseman:但是
/etc/environment中设置的变量不是对整个系统的每个用户都可用吗?为什么这不起作用?
标签: django bash ubuntu environment-variables