python - AWS beanstalk - 更新环境变量时 Python 应用程序失败
问题描述
我正在使用 AWS elastic beanstalk 来提供自定义 python 应用程序。除了更新环境变量外,一切正常。
如果我尝试更改eb setenv FOO=bar
(或在控制台中更改),应用程序将停止识别所有env 变量。重新启动服务器或发送新的部署可以解决问题,但客户端可能会遇到停机或 400/500 错误。
我几乎可以肯定我需要使用 configdeploy 挂钩,但不知道如何使用。
谢谢!
配置:
在 64 位 Amazon Linux/2.7.3 上运行的 Python 3.4
0_python.config
option_settings:
aws:elasticbeanstalk:container:python:
WSGIPath: 'configs/wsgi.py'
NumProcesses: 6
NumThreads: 15
container_commands:
01_wsgipass:
command: 'echo "WSGIPassAuthorization On" >> ../wsgi.conf'
02_traceenable:
command: 'echo "TraceEnable Off" >> ../wsgi.conf'
1_apache.config
container_commands:
01_setup_apache:
command: "cp .ebextensions/enable_mod_deflate.conf /etc/httpd/conf.d/enable_mod_deflate.conf"
files:
"/etc/httpd/conf.d/ssl_rewrite.conf":
mode: "000644"
owner: root
group: root
content: |
RewriteEngine On
<If "-n '%{HTTP:X-Forwarded-Proto}' && %{HTTP:X-Forwarded-Proto} != 'https'">
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</If>
"/etc/httpd/conf.d/wsgi_custom.conf":
mode: "000644"
owner: root
group: root
content: |
WSGIApplicationGroup %{GLOBAL}
解决方案
您可以在.config
文件中设置环境变量
option_settings:
aws:elasticbeanstalk:application:environment:
FOO: bar
推荐阅读
- javascript - React, Firebase: Access values of JSON and also get key value
- xamarin.android - Xamarin.Android binding generation giving "Type X was not found" errors for classes new in JDK 1.8
- c++ - QApplication::processEvents on a different thread
- mysql - 如果字符串在 MySQL 中格式化为 mm/yy,如何选择大于 mm/yy 的字符串
- c# - Asp.net core MVC 两个列表,相同的模型,相同的控制器,两个具有相同模型问题的局部视图
- c# - Apply custom formatting to each JSON property
- java - Annotation of multiple types of annotation
- android - disable app usage tracking temporily
- c# - 听写不适用于我的 WPF 应用程序 - 需要建议
- rest - 如何在招摇中更改查询参数名称?