Azure中无法部署Flask Web应用:启动超时问题求助
Azure Flask Web应用部署超时问题排查方案
一、先确认代码本身是否正常
- 本地运行
flask run,访问http://localhost:5000,确认应用能正常响应,无崩溃或报错。 - 检查
requirements.txt:确保所有依赖包都已列全(比如Flask、如果用了数据库驱动也要加上),本地执行pip install -r requirements.txt后再重新测试应用。 - 确认启动入口:Azure默认会检测根目录下的
app.py,如果你的入口文件是其他名称(比如wsgi.py),需要明确指定启动逻辑,或者设置FLASK_APP环境变量。
二、部署配置检查
- Zip包结构:解压你的部署Zip包,确保代码文件直接在根目录(比如解压后能看到
app.py、requirements.txt),不要嵌套在子文件夹里,否则Azure无法正确识别启动文件。 - 免费层资源限制:F1免费计划的CPU、内存配额较低,启动时如果资源占用过高会触发超时。可以临时升级到B1基础计划测试,若能正常启动,说明是资源配额问题,后续可优化代码或考虑保留基础层。
- CLI部署命令:确认部署命令正确,示例:
az webapp deployment source config-zip --resource-group <你的资源组名> --name <你的应用名> --src ./deploy.zip
三、日志定位具体错误
- 实时启动日志:用Azure CLI执行以下命令,跟踪应用启动时的详细输出,能直接看到启动失败的原因(比如依赖安装失败、代码语法错误、端口配置问题):
az webapp log tail --resource-group <你的资源组名> --name <你的应用名> - 部署日志:在Azure门户进入你的App Service,依次点击「部署中心」→「日志」,查看部署过程中的文件上传、依赖安装等环节是否有报错。
四、下一步排查步骤
- 完成本地代码的全流程验证,确保无依赖缺失、无运行报错。
- 调整Zip包结构,保证代码文件在根目录层级。
- 在Azure门户的App Service「配置」→「通用设置」中,设置启动命令为:
(注:gunicorn --bind=0.0.0.0 --timeout 600 app:appapp:app对应你的入口文件(app.py)和Flask实例名(app),如果是其他名称请自行替换) - 用
az webapp log tail命令实时查看启动日志,定位具体错误点后针对性修复。 - 若日志显示资源不足,临时升级到B1计划测试启动,验证后再决定后续方案。
内容的提问来源于stack exchange,提问作者Meng Yuan
相关产品推荐
相关产品推荐

