如何在生产环境(Nginx和Gunicorn)中访问和设置Django的环境变量

问题描述 投票:0回答:1

我正在尝试在Ubuntu上为Nginx和Gunicorn服务的Django项目设置环境变量。变量是为Ubuntu用户设置的,我可以使用printenv VAR_EMAIL看到该值。

但是当我使用它们的django设置时,它不起作用,将它们用作os.environ['VAR_EMAIL'],这在生产环境中无法获取变量的值,并且服务器不起作用。

但是这在开发方面可行。请向我提供有关如何完成此操作的指导。

django ubuntu nginx gunicorn production-environment
1个回答
0
投票

您正在使用什么来监督和运行Ubuntu中的gunicorn进程?如果您不使用任何工具,我建议您使用systemd,有关如何在gunicorn文档中进行设置的方法有一个小指南:https://docs.gunicorn.org/en/stable/deploy.html#systemd

之后,您可以在systemd配置文件的[Service]部分下,按照以下步骤在systemd配置文件中设置环境变量:

[Service]
Environment="VAR_EMAIL=var-email"
Environment="ANOTHER_VAR=another-var"

如果您希望将这些变量放在单独的文件中,也可以使用EnvironmentFile指令:https://www.freedesktop.org/software/systemd/man/systemd.exec.html#EnvironmentFile=

© www.soinside.com 2019 - 2024. All rights reserved.