使用 CLI 将 Flask 应用程序部署到 Elastic Beanstalk 时出现 502

将非常简单的 Hello, World 类型的烧瓶应用程序部署到 AWS Elastic Beanstalk 时遇到问题。我正在使用 eb CLI 工具,它在 Mac 上安装了 brew 和 python 3。下面是一些示例代码:


from flask import Flask


app = Flask(__name__)


@app.route('/')

def hello_world():

    return 'Hello, World!'


@app.route('/<username>')

def hello_user(username):

    return f'Hello, {username}!'


# run the app.

if __name__ == "__main__":

    # Setting debug to True enables debug output. This line should be

    # removed before deploying a production app.

    

    app.debug = True

    app.run(port=8000)

它按预期在本地运行,我可以通过 CLI 部署它,但是当我访问该应用程序时,我收到 502 Bad Gateway。


我试过了:


使用来自控制台的 URL 和eb open.

在 URL 末尾指定端口 5000(默认 flask)和 8000。

使用app.run(),但app.run(port=8000)没有成功。

我浏览了文档,但找不到修复方法。如果人们有任何他们认为有用的建议或链接,我们将不胜感激。


MYYA
浏览 124回答 1
1回答

qq_笑_17

您的应用程序应称为applicationnot app。下面是更正后的application.py文件。我验证了它可以使用Python 3.7 running on 64bit Amazon Linux 2/3.1.0平台工作:from flask import Flaskapplication = Flask(__name__)@application.route('/')def hello_world():&nbsp; &nbsp; return 'Hello, World!'@application.route('/<username>')def hello_user(username):&nbsp; &nbsp; return f'Hello, {username}!'# run the app.if __name__ == "__main__":&nbsp; &nbsp; # Setting debug to True enables debug output. This line should be&nbsp; &nbsp; # removed before deploying a production app.&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; application.debug = True&nbsp; &nbsp; application.run(port=8000)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python