Запуск приложения Flask на AWS Elastic Beanstalk - различные настройки - PullRequest
0 голосов
/ 30 мая 2018

Я хочу запустить приложение Flask на EBS, но структура моего приложения отличается от рекомендованной установки, и я не понял, как его запустить.

Прямо сейчас это выглядит так:

  • Project_Folder /
    • Project_App /
      • static /
      • templates /
      • __init__.py (у меня есть приложение = app = flask.Flask ( name ) здесь)
      • config.py
      • views /
        • __init__.py
        • index.py (где определены мои маршруты)
    • setup.py (конфигурация пакета python)

Чтобы запустить приложение, я захожу в Project_Folder и экспортирую FLASK_APP=Project_App и другие переменные среды, а затем делаю: flask run.

Я знаючто EBS нужен файл .py с «приложением» внутри, поэтому я также могу запустить приложение, выполнив python __init__.py из Project_App.Я решил изменить WSGIPath на __init__.py в надежде, что он найдет там объект приложения, но он все еще не может работать.

Журналы не очень полезны, но есть ли у кого-нибудьесть идеи?Я не совсем уверен, что происходит на стороне Amazon, чтобы запустить само приложение.

Спасибо!

1 Ответ

0 голосов
/ 24 октября 2018

Кажется, у меня та же проблема.Если вы используете eb-cli и вводите команду «eb logs», вы должны получить журнал ошибок.Если просмотреть их и найти ошибку, которая говорит что-то вроде «Целевой сценарий WSGI» ... «не содержит приложения WSGI« приложение »», и в настоящее время вы получаете ошибку 403 Forbidden, то ваша проблема, вероятно, похожа на мою,Я предполагаю, что в вашем init .py файле вы используете фабрику приложений, например:

def create_app():
    application = Flask(__name__)
    app = application

Если это так, то это фабрика приложений create_app (), которая вызывает вашу проблему,Я бы посоветовал попробовать не определять приложение в create_app () или просто не использовать фабрику приложений вообще

...