【问题标题】:How do I pass env variables to uwsgi?如何将环境变量传递给 uwsgi?
【发布时间】:2019-05-02 17:01:44
【问题描述】:

我在 Apache 下配置了一个 WSGI 处理程序,并且我在 Apache 虚拟主机配置中定义了一些环境变量。

SetEnv APP_CONFIG "/var/lib/myapp/app.config"
SetEnv LOG_CONFIG "/var/lib/myapp/app.logging.yml"

为了在开发中测试处理程序而无需安装和配置 Apache,我使用 uWSGI--http 选项。

uwsgi --http :9090 --ini uwsgi.ini --wsgi-file wsgi.py

wsgi.py

def application(environ, start_response):
    config_file_path = environ['APP_CONFIG']
    start_response('200 OK', [('Content-Type','text/html')])
    return ["Hello World"]

如何使用 uWSGI http 服务器将这些变量作为environ 参数的一部分传递给我的应用程序?

我已经尝试在 uwsgi.ini 文件中设置环境变量:

[uwsgi]
env = APP_CONFIG="/var/lib/myapp/app.config"

但我明白了:

File "wsgi.py", line 5, in application
config_file_path = environ['APP_CONFIG']
KeyError: 'APP_CONFIG'

【问题讨论】:

    标签: python uwsgi wsgi


    【解决方案1】:
    [uwsgi]
    env             = RAY_REDIS_PASS=ray_pass
    env             = RAY_REDIS_PORT=6380
    strict          = true
    chdir           = /Users/judas/projects/myapp
    master-fifo     = /tmp/myapp_fifo0
    master-fifo     = /tmp/myapp_fifo1
    module          = myapp.wsgi:application
    master          = true
    vacuum          = true
    need-app        = true
    processes       = 4
    die-on-term     = true
    procname-prefix = myapp
    harakiri        = 30
    socket          = /tmp/myapp_uwsgi.sock
    lazy-apps       = true
    logger          = file:logfile=/tmp/apps.log,maxsize=2000000000
    import          = postfork
    

    【讨论】:

    • 链接断开,而不是在回程机器上。你有另一个有效的吗?谢谢!
    【解决方案2】:

    正如https://stackoverflow.com/a/18490958/3383797 中指出的那样不要使用空格

    [uwsgi]
    env=MY_VAR_NAME=foobar
    

    【讨论】:

      【解决方案3】:

      我认为你只需要指定你的 .ini 文件

      uwsgi --ini uwsgi.ini --http = :9090 --wsgi-file wsgi.py
      

      【讨论】:

      • 谢谢,我正在这样做,并且我已经编辑了问题以使其更清晰。
      • @Phill 对不起,我的错。你能发布你的整个 WSGI.py 文件吗?
      【解决方案4】:

      我发现了如何在wsgi.ini 中使用addvar

      [uwsgi]
      route-run = addvar:APP_CONFIG="/var/lib/myapp/app.config"
      

      【讨论】:

        猜你喜欢
        • 2013-12-29
        • 2016-07-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-05
        • 2020-03-27
        • 2017-03-30
        相关资源
        最近更新 更多