簡體   English   中英

使用 CLI 將 flask 應用程序部署到彈性 beanstalk 時出現 502 錯誤

[英]502 error deploying flask application to elastic beanstalk using CLI

在將非常簡單的 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 部署它,但是當我 go 訪問應用程序時,我得到一個 502 Bad Gateway。

我試過了:

  • 從控制台使用 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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM