Elasticbeanstalk上的烧瓶应用程序-“找不到或无法统计目标WSGI脚本”

时间:2018-09-28 14:22:33

标签: flask amazon-elastic-beanstalk

我使用Flask构建了一个名为“ app.py”的应用程序。当我使用“烧瓶运行”时,它将在本地运行。但是,当我将其上传到AWS Elasticbeanstalk时,环境状态更改为“严重”,并且在日志中收到错误消息“找不到或无法统计的目标WSGI脚本”。

我已解决此问题,并在下面发布了解决方案,以防对他人有所帮助。

2 个答案:

答案 0 :(得分:0)

该应用程序在本地运行,因为我以前运行了命令“ export FLASK_APP = app.py”来修改环境变量。这通知Flask我的应用程序称为“ app.py”。但是,在Elasticbeanstalk上,默认应用程序名称为“ application.py”。您可以转到AWS控制台> Elasticbeanstalk>您的环境>配置>软件>修改>容器选项> WSGI路径来查看此内容。

AWS Elasticbeanstalk Configuration

因此,有两种解决方案。

  1. 将应用程序文件从“ app.py”重命名为“ application.py”,以符合AWS Elasticbeanstal上的默认WSGI路径。

  2. 将AWS Elasticbeanstalk上的WSGI Path环境变量更改为“ app.py”以匹配您的应用程序文件的名称。这可以通过以下两种方法之一来完成。首先,通过AWS控制台> Elasticbeanstalk>您的环境>配置>软件>修改>容器选项>更改WSGI Path变量>应用。其次,将Elasticbeanstalk命令行界面(EB CLI)与命令“ eb config”一起使用>向下滚动至标题aws:elasticbeanstalk:container:python:>修改WSGIPath>保存更改。

如果仍然收到此错误,请检查您的应用程序文件是否在根目录中。

答案 1 :(得分:0)

Milos答案有效。我想补充一点,如果您的Flask应用是在__init__.py内创建的,则还必须指定包名称。 例如,Flaskr应用程序的WSGI路径为“ flaskr/__init__.py