【发布时间】:2020-08-10 17:37:07
【问题描述】:
我正在尝试为 Ubuntu 上的 Nginx 和 Gunicorn Served Django 项目设置环境变量。
这些变量是为 Ubuntu 用户设置的,我可以使用 printenv VAR_EMAIL 查看值。
但是当我使用它们时 django 设置它不起作用,将它们用作os.environ['VAR_EMAIL'],这不会在生产中获取变量的值,并且服务器不起作用。
但这在开发方面有效。
2020 年 5 月 1 日更新:
我使用 systemd 并在 gunicorn.service 文件中传递了这样的变量。这将不起作用仍然会出现关键错误,)将发布确切的错误),因为它是在 Ubuntu 上生产的,但我正在 Windows 上开发,它适用于环境发展中的变量。
os.environ['var_name'] 是正确的访问方式吗?
我还尝试了os.environ.get('var_name'),正如我在一些视频中看到的那样,environ 有.get() 来访问该值。我会再试一次,也许我犯了一些错误。请随时询问所需的任何信息。
已回答 - 这是我的错误。
【问题讨论】:
-
您的部署环境如何?你在用 docker 吗?
-
Nginx,Gunicorn,Supervisor ... 在带有 Amazon RDS MySQL DB 的 EC2 Ubuntu 最新实例上。我没有使用 docker。
标签: django ubuntu nginx gunicorn production-environment