AWS beanstalk - сбой приложения Python при обновлении переменных env - PullRequest
0 голосов
/ 30 октября 2018

Я использую эластичный бобовый стебель 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}

1 Ответ

0 голосов
/ 05 ноября 2018

Вы можете установить свои env vars в .config файлах с помощью

option_settings: aws:elasticbeanstalk:application:environment: FOO: bar

...