首页 > 解决方案 > Elasticbeanstalk 上的 Flask 应用程序 - “未找到目标 WSGI 脚本或无法统计”

问题描述

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

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

标签: flaskamazon-elastic-beanstalk

解决方案


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

AWS Elasticbeanstalk 配置

因此有 2 个解决方案。

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

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

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


推荐阅读