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

通过GitHub部署Azure Web应用成功但出现应用错误如何配置解决

Azure Web应用部署后报应用程序错误的配置修正步骤

GitHub侧显示部署成功仅代表代码拉取、基础构建流程走完,不代表应用启动配置符合Azure运行时要求,按以下顺序核对配置即可解决:

1. 基础运行时匹配

  • 发布类型选择代码,运行时版本和本地开发环境严格对齐:本地用Python 3.9就选Python 3.9,不要随意选高低版本,Python小版本不兼容是高发报错原因
  • Python类项目优先选择Linux操作系统,依赖编译、启动兼容性比Windows环境更好

2. 配置正确的启动命令(90%同类报错根因)

Azure不会自动识别Flask/FastAPI/Django类项目的启动入口,必须手动指定:

  • 进入Web应用左侧菜单栏「配置」-「常规设置」,找到「启动命令」输入项
  • Flask类项目填入以下命令:
gunicorn --bind=0.0.0.0 --timeout 600 app:app

注意:命令中第一个app对应项目根目录下的启动文件名app.py,第二个app对应文件内初始化的Flask实例变量名,如果你代码里实例名是create_app或者其他命名,要对应替换,不要直接照搬

  • Django类项目启动命令替换为:
gunicorn --bind=0.0.0.0 --timeout 600 你的项目文件夹名.wsgi:application
  • FastAPI类项目启动命令替换为:
gunicorn --bind=0.0.0.0 --timeout 600 -k uvicorn.workers.UvicornWorker main:app

3. 依赖与文件结构检查

  • 项目根目录必须存在requirements.txt,所有代码中引用的第三方包(包括gunicorn、uvicorn这类启动用的包)都要写入文件,Azure部署时只会自动安装该文件中列出的依赖,漏写就会触发模块找不到的启动错误
  • 不要把本地虚拟环境目录(venv、.venv)、本地缓存目录上传到代码仓库,会干扰Azure侧的依赖安装流程

4. 端口监听逻辑修正

  • 代码中不要硬编码固定监听端口,不要写app.run(port=5000)这类逻辑,Azure会动态分配服务端口,本地调试时可以通过环境变量读取端口:
import os
if __name__ == "__main__":
    port = int(os.getenv("PORT", 5000))
    app.run(host="0.0.0.0", port=port)

5. 精准定位报错

以上配置调整后仍报错的话,直接通过日志定位具体问题:

  • 左侧菜单进入「应用服务日志」,打开应用程序日志记录,日志级别选「详细」
  • 打开「日志流」功能,刷新应用访问页面,就能看到实时抛出的具体错误信息,缺依赖、代码语法错误、路径配置错误都可以直接从日志中定位

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 13:42:05