flask+uwsgi+supervisor 设置环境变量

flask+uwsgi+supervisor set environment variable

我正在使用 flaskuwsgi 连接 nginx

还使用 supervisor 守护 uwsgi。

在 flask 源代码中,要获取环境变量,请使用此代码。

os.getenv('FLASK_CONFIGURATION') or 'development'

在我的 .bashrc 中,我这样设置环境变量。

export FLASK_CONFIGURATION=production
export NEWRELIC_KEY=12345

但它仍然适用于 development

参考 google,uwsgi 启动与 bash 隔离,因此无法读取环境变量。

所以我将变量设置为uwsgi。

FLASK_CONFIGURATION = $(FLASK_CONFIGURATION)
NEWRELIC_KEY = $(NEWRELIC_KEY)

但是还是不行

这里有什么解决办法吗?

在你的 supervisord 配置文件中 运行 uwsgi,你可以添加 environment 如下:

environment=FLASK_CONFIGURATION="production",NEWRELIC_KEY="12345"

参考:http://supervisord.org/configuration.html 示例:https://github.com/Supervisor/supervisor/blob/master/supervisor/skel/sample.conf#L98