перекрестная ссылка на форумы AWS
Я разработал простой веб-сервис Python с использованием WSGI и хотел бы развернуть его в облаке AWS с помощью Elastic Beanstalk. Моя проблема в том, что я не могу сделать все параметры, указанные в конфигурации Elastic Beanstalk, правильно настроенными в облаке.
Для развертывания я использую Elastic Beanstalk CLI. Я выполнил eb initкоманду и настроил необходимые параметры. После этого .elasticbeanstalkв моем исходном дереве был создан каталог с именем . Он имеет два файла конфигурации, которые используются для развертывания, а именно configи optionsettings. Последний из других параметров содержит конфигурацию WSGI, которая должна обновляться /etc/httpd/conf.d/wsgi.confв экземплярах. После некоторых моих настроек файл имеет следующие настройки:
[AWS: elasticbeanstalk: применение: окружающая среда] DJANGO_SETTINGS_MODULE = PARAM1 = PARAM2 = PARAM4 = PARAM3 = PARAM5 = [AWS: elasticbeanstalk: Контейнер: Python] WSGIPath = handler.py NumProcesses = 2 StaticFiles = / static = NumThreads = 10 [AWS: elasticbeanstalk: Контейнер: Python: staticfiles] / статический = статический / [AWS: elasticbeanstalk: hostmanager] LogPublicationControl = false [AWS: автомасштабирование: launchconfiguration] InstanceType = t1.micro EC2KeyName = zmicier-aws [AWS: elasticbeanstalk: применение] URL проверки работоспособности приложения = [AWS: автомасштабирование: ASG] MaxSize = 10 MinSize = 1 Пользовательские зоны доступности = [AWS: elasticbeanstalk: мониторинг] Автоматически завершить нездоровые экземпляры = true [AWS: elasticbeanstalk: SNS: темы] Конечная точка уведомления = Протокол уведомлений = электронная почта
Оказывается, что не все эти параметры рассматриваются, когда я запускаю среду или обновляю ее. Таким образом, когда я обновляю NumThreadsили NumProcesses, соответствующие параметры изменяются в wsgi.confсоответствии с ожиданиями. Но все , что я пишу в WSGIPathи StaticFilesпараметры, я не в состоянии автоматически изменить соответствующие значения wsgi.conf, они остаются
Alias /static /opt/python/current/app/
WSGIScriptAlias / /opt/python/current/app/application.py
что сводит меня с ума. Более того, когда я развертываю свое приложение, используя git aws.pushи имея следующее содержимое .ebextensions/python.configфайла, ни один из указанных в нем параметров не влияет на развертывание.
option_settings:
- пространство имен: aws: эластичный стебель: контейнер: python
имя_опции: WSGIPath
значение: mysite / wsgi.py
- пространство имен: aws: эластичный стебель: контейнер: python
имя_опции: NumProcesses
значение: 5
- пространство имен: aws: эластичный стебель: контейнер: python
имя_опции: NumThreads
значение: 25
- namespace: aws :asticbeanstalk: контейнер: python: статические файлы
имя_опции: / статический /
значение: приложение / статическое /
Интересно, что мне нужно сделать, чтобы AWS использовал все параметры, которые я указал в конфигурации, а именно: путь WSGI и путь к моим статическим данным.