在将非常简单的Hello,World类型flask应用程序部署到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。
我尝试过:
eb open
来访问应用程序。app.run()
和app.run(port=8000)
失败。我已经浏览了文档,但是找不到修复程序。如果人们有任何建议或链接,他们认为会有所帮助。
答案 0 :(得分:0)
您的应用程序应名为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)