flask+uwsgi+supervisor 设置环境变量
flask+uwsgi+supervisor set environment variable
我正在使用 flask
和 uwsgi
连接 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
我正在使用 flask
和 uwsgi
连接 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