You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法通过AWS Amplify将Flask应用部署至线上的问题咨询

AWS Amplify部署Flask应用空白+无Verified标记问题解决

核心疑问解答:为什么Amplify部署后不需要手动启动Flask?

AWS Amplify是托管式平台,会根据项目配置自动完成构建、启动流程,不需要手动SSH登录执行启动命令。你的问题根源在于:Amplify默认没有针对Python/Flask项目的预设启动规则,必须手动配置构建和启动逻辑,否则平台不知道如何运行你的应用。

具体解决步骤

1. 添加Amplify配置文件

在项目根目录创建 amplify.yml 文件,明确告诉Amplify构建和启动规则:

version: 1
frontend:
  phases:
    build:
      commands:
        - pip install -r requirements.txt
  artifacts:
    baseDirectory: /
    files:
      - '**/*'
  cache:
    paths:
      - venv/**/*
backend:
  phases:
    build:
      commands:
        - pip install -r requirements.txt
        - nohup python flask_app.py &

注意:如果项目没有requirements.txt,先创建该文件并写入Flask,确保Amplify能安装依赖

2. 修正Flask启动代码

你的原代码存在两个生产环境适配问题:

  • Debug模式禁止在生产环境使用,Amplify会限制此类运行模式
  • 默认127.0.0.1仅允许本地访问,Amplify服务器外部无法连接,需改为绑定0.0.0.0,并适配平台指定端口

修改后的代码:

from flask import Flask
import os

app = Flask(__name__)

@app.route('/')
@app.route('/home')
def home():
    return "Help me be swank"

@app.route('/about')
def about():
    return "I'm swank"

if __name__ == '__main__':
    port = int(os.environ.get('PORT', 5000))
    app.run(host='0.0.0.0', port=port, debug=False)

3. 解决无"Verified"标记问题

Amplify的"Verified"标记需要满足两个条件:

  • 应用能正常响应平台的健康检查请求(默认访问根路径/)
  • 全流程部署无错误日志

按上述步骤修改后,推送代码到GitHub触发重新部署:

  • 查看Amplify控制台的部署日志,排查是否存在构建或启动错误
  • 若日志显示成功,等待几分钟,平台完成健康检查后,"Verified"标记会自动出现

额外排查要点

  • 确认requirements.txt包含所有必要依赖,尤其是Flask
  • 查看Amplify控制台的访问日志,确认请求是否成功到达应用
  • 检查代码中是否存在硬编码的本地路径或仅本地可用的资源

内容的提问来源于stack exchange,提问作者brussell_1900

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 12:35:19