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

Flask新手部署HelloWorld至AWS Elastic Beanstalk遇ELB实例健康异常

解决Flask应用部署AWS Elastic Beanstalk健康检查失败问题

1. 修正Flask监听配置

Flask默认仅监听127.0.0.1,外部健康检查无法访问,必须改为监听所有网卡地址:

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)

2. 添加EB环境配置文件

在项目根目录创建.ebextensions文件夹,新建01-flask-config.config文件,内容如下(按需调整主文件名):

option_settings:
  aws:elasticbeanstalk:container:python:
    WSGIPath: app.py  # 替换为你的Flask主文件名称,比如application.py
  aws:elasticbeanstalk:environment:proxy:
    ProxyServer: nginx
    Port: 5000

3. 验证健康检查路径

EB默认健康检查路径为/,确保你的Flask应用访问该路径能返回200状态码。如果根路径不返回200,可添加健康检查路由:

@app.route('/health')
def health_check():
    return 'OK', 200

然后在EB控制台修改健康检查路径:进入环境→配置→负载均衡器→健康检查,将路径改为/health。

4. 查看日志定位错误

通过EB控制台下载日志排查问题:

  • 进入环境→日志→请求日志/完整日志
  • 重点查看/var/log/web.stdout.log和/var/log/web.stderr.log,里面会记录应用启动失败的具体原因(如依赖缺失、语法错误)

5. 确认依赖文件完整

确保项目根目录有requirements.txt,包含所有依赖项,示例:

Flask==2.3.3

EB会自动根据该文件安装依赖,缺失依赖会导致应用启动失败。

6. 本地模拟EB环境测试

使用eb local run命令在本地模拟EB环境运行,提前发现启动报错问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 20:40:50