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

部署Flask的app.py到Azure Web App遇应用错误及SSH异常求助

Flask应用部署Azure Web App应用错误排查方案

核心排查步骤

  • 配置正确的启动命令
    Azure Web App不会自动识别Flask启动逻辑,需在门户「配置」→「常规设置」中设置启动命令:
    gunicorn --bind=0.0.0.0 --timeout 600 app:app
    注意:若你的Flask实例变量名不是app(比如代码里是myapp = Flask(__name__)),要改成app:myapp。

  • 校验requirements.txt完整性
    确保文件包含生产环境必需依赖,至少要有:

    Flask
    gunicorn
    

    本地开发用的werkzeug无法满足生产环境需求,必须添加gunicorn作为WSGI服务器。

  • 查看日志定位具体错误
    无需依赖SSH,可通过Azure门户「监测」→「日志流」查看实时运行日志;或进入「高级工具」→「Kudu」的「Debug console」,查看LogFiles目录下的application.log和stdout.log,里面会记录具体报错(如依赖缺失、代码语法错误、端口冲突等)。

  • 修正端口配置逻辑
    不要硬编码端口,改用环境变量获取Azure分配的端口:

    import os
    from flask import Flask
    
    app = Flask(__name__)
    
    # 你的API路由逻辑...
    
    if __name__ == "__main__":
        port = int(os.environ.get("PORT", 5000))
        app.run(host="0.0.0.0", port=port)
    
  • 确认仓库文件结构
    保证app.py和requirements.txt放在GitHub仓库根目录,若文件在子文件夹,启动命令需指定路径,比如:gunicorn --bind=0.0.0.0 src.app:app(假设文件在src文件夹下)。

额外注意事项

  • 在Azure门户「配置」→「常规设置」中指定与本地开发一致的Python版本,避免版本兼容问题。
  • 可在Kudu的Debug console中手动执行pip install -r requirements.txt和启动命令,验证应用是否能正常启动,排查部署过程中的依赖安装问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 07:03:09