Как настроить WSGI в Elasti c Beanstalk при работе AWS Deep Learning Base AMI (Amazon Linux 2)? - PullRequest
2 голосов
/ 11 июля 2020

В моем эластичном стебле:

Platform:
  PlatformArn: arn:aws:elasticbeanstalk:us-east-2::platform/Python 3.7 running on 64bit Amazon Linux 2/3.0.3
OptionSettings:
  aws:autoscaling:launchconfiguration:
    RootVolumeSize: "90"
    IamInstanceProfile: aws-elasticbeanstalk-ec2-role
    ImageId: ami-017ff046baf80c98c
  ...

, где это ami https://aws.amazon.com/marketplace/pp/B07NMRZ463 (AWS Deep Learning Base AMI (Amazon Linux 2)).

У меня есть приложение flask с application.py:

....
# run the app.
if __name__ == "__main__":
    # Setting debug to True enables debug output. This line should be
    # removed before deploying a production app.
    # application.debug = True
    print('Starting application')
    application.run(host='0.0.0.0')

Когда я загружаю его, мой .platform/hooks/prebuild запускается (я вижу журналы в /var/log/eb-hooks.log). Но мой сервер приложений не запускается.

Если это важно, мой код находится в /var/app/staging и не был перемещен в /var/app/current.

Что я делаю не так?

1 Ответ

1 голос
/ 12 июля 2020

Я еще немного покопался, и я думаю, что одним из способов было бы создать свою собственную настраиваемую платформу форму EB:

Вы создаете платформу, предоставляя Elasti c Beanstalk с шаблоном Packer , а также скриптами и файлами, которые этот шаблон вызывает для сборки AMI.

Однако:

Elasti c Beanstalk не поддерживает пользовательские платформы на основе AMI Amazon Linux 2.

Не идеально, но, возможно, этот вариант можно было бы изучить дальше для использования Deep Learning AMI с EB.

...