Я использую эластичный бобовый стебель AWS для обслуживания собственного приложения на Python. Все отлично работает, кроме обновления переменных среды.
Если я попытаюсь изменить значение eb setenv FOO=bar
(или изменить в консоли), приложение перестанет распознавать все переменные env. Перезапуск сервера или отправка нового развертывания решает проблему, но клиент может испытывать простои или ошибку 400/500.
Я почти уверен, что мне нужно использовать ловушку configdeploy, но не знаю как.
Спасибо!
Configs:
Python 3.4, работающий на 64-битной Amazon Linux / 2.7.3
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}