在将一个非常直接的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)