gpt4 book ai didi

python - 如何在 uwsgi 中使用 nginx UWSGI_SETENV 获取 env_vars

转载 作者:太空宇宙 更新时间:2023-11-03 13:49:57 26 4
gpt4 key购买 nike

我的 nginx 配置文件:

location / {
include uwsgi_params;
uwsgi_param UWSGI_PYHOME /usr;
uwsgi_pass unix:/var/run/uwsgi-python/uwsgi/socket;
uwsgi_param UWSGI_CHDIR /var/www/my_site;
uwsgi_param UWSGI_SCRIPT my_site:app;
uwsgi_param SERVER_NAME my_site;
uwsgi_param UWSGI_SETENV DEPLOY_VERSION=Development;
}

我的 uwsgi 段:

/usr/local/bin/uwsgi --master --processes 2 --logdate --chmod-socket=666 --uid www --gid www --limit-as 512 --harakiri 60 --max-requests 1000 --no-orphans —-reload-os-env --daemonize /var/log/uwsgi-python/uwsgi.log --pidfile /var/run/uwsgi-python/uwsgi/pid --socket /var/run/uwsgi-python/uwsgi/socket --xmlconfig /etc/uwsgi-python/apps-enabled/uwsgi.xml

uwsgi xml:

<uwsgi>
<master/>
<vhost/>
<memory-report/>
<no-site/>
</uwsgi>

在我的 flask 应用中

print os.environ.get('DEPLOY_VERSION', 'NONE')  #pring NONE

我如何获得 env_vars?

也许我无法在 模式下通过 UWSGI_SETENV 获取 env_vars 设置?

顺便说一句:如何在没有虚拟环境的情况下在一台机器上部署多版本(开发/测试/发布)应用程序?

最佳答案

代替:

uwsgi_param UWSGI_SETENV DEPLOY_VERSION=Development;

您可以将其设置为 nginx 中的每个请求变量:uwsgi_param DEPLOY_VERSION 'Development';

然后在 Flask 中,通过 request.environ 访问变量:request.environ['DEPLOY_VERSION']

(我有一个类似的问题,并在 uwsgi 邮件列表上指出了上述解决方案)

关于python - 如何在 uwsgi 中使用 nginx UWSGI_SETENV 获取 env_vars,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11278726/

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