502使用CLI将烧瓶应用程序部署到弹性豆茎时出错



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

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坏网关。

我试过:

  • 使用控制台中的URL和eb open访问应用程序
  • 在URL末尾指定端口5000(默认烧瓶(和8000
  • 使用app.run()app.run(port=8000)没有成功

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

您的应用程序应该被称为application,而不是app

以下是更正后的application.py文件。我验证它使用Python 3.7 running on 64bit Amazon Linux 2/3.1.0平台工作:

from flask import Flask
application = Flask(__name__)
@application.route('/')
def hello_world():
return 'Hello, World!'
@application.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.

application.debug = True
application.run(port=8000)

最新更新