gpt4 book ai didi

django - 如何避免使用 Django、nginx 和 uWSGI 将环境变量放到多个地方?

转载 作者:行者123 更新时间:2023-12-03 23:09:01 25 4
gpt4 key购买 nike

我正在尝试配置 nginx+uWSGI 来为我的 Django 应用程序提供服务。

当我将环境变量放入 myapp_uwsgi.ini :

uid = username
gid = username
env = DJANGO_SITE_KEY="..."

它按预期工作。

但是,我的应用程序有一些 management commands它还应该可以访问我定义的环境变量。

如果我把环境变量放到 /home/username/.bashrc :

export DJANGO_SITE_KEY="..."

uWSGI 不加载它们。

我试图将环境变量放入一个单独的文件中:

#!/bin/sh
export DJANGO_SITE_KEY="..."

然后从两个 .bashrc 调用它:

. /home/username/environment

myapp_uwsgi.ini :

exec-pre-app = . /home/username/environment

在 uWSGI 日志中,我看到这一行:

running ". /home/username/environment" (pre app)...

但是我的 Django 应用程序无法使用 os.environ 访问环境变量.

我也试过把 exportpreactivate 的命令virtualenvwrapper 的钩子(Hook)并使用 virtualenv = uWSGI 的设置,但它也不起作用(我假设 Hook 仅在使用 virtualenvwrapper 命令时执行,如 workon

最佳答案

这里是 the answer来自 uWSGI 开发人员:

just place each of them (one per line) in a text file in the form

VAR=VALUE

then in uWSGI config

[uwsgi]
for-readline = yourfile
env = %(_)
endfor =


这也适用于 yml 配置文件:
  for-readline: filename
env: %(_)
endfor:

关于django - 如何避免使用 Django、nginx 和 uWSGI 将环境变量放到多个地方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23670960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com