Flask + MongoDB:本地应用部署至Azure Web App入门指南
本地Flask应用部署至Microsoft Azure Web应用操作指南
我花了好几个小时翻了几十篇指南才搞定可用的部署环境,下面是亲测有效的操作步骤:
一、本地应用准备
- 确保你的Flask应用在本地能正常运行,比如执行
python app.py后,可通过localhost:5000访问到内容 - 生成
requirements.txt文件,把所有依赖项明确列出:在本地虚拟环境中运行
示例pip freeze > requirements.txtrequirements.txt内容:Flask==2.3.3 gunicorn==21.2.0 - 确认主应用文件(如
app.py)的入口格式符合标准:from flask import Flask app = Flask(__name__) @app.route('/') def home(): return "Hello from Azure!" if __name__ == '__main__': app.run(debug=True)
二、创建Azure Web应用资源
- 登录Azure门户,搜索“Web应用”并点击“创建”
- 填写基础配置信息:
- 选择你的Azure订阅和资源组(无资源组可直接新建)
- 输入全局唯一的Web应用名称(该名称会成为访问URL的一部分:
https://<名称>.azurewebsites.net) - 发布方式选择“代码”
- 运行时堆栈选与本地一致的Python版本(比如3.11)
- 操作系统选Linux(推荐,部署流程更顺畅)
- 选择合适的定价层(测试阶段可选用免费的F1层)
- 点击“查看+创建”,确认信息无误后完成资源创建
三、部署本地代码到Azure
这里提供两种简单易操作的部署方式:
方式1:Azure CLI快速部署
- 安装Azure CLI,打开终端执行
az login,按提示完成账号登录 - 切换到本地Flask应用的根目录,运行部署命令:
(az webapp up --name <你的Web应用名称> --runtime PYTHON:3.11 --sku B1--sku B1为基础定价层,测试也可替换为F1免费层) - 等待命令执行完毕,CLI会自动打包代码并完成部署
方式2:本地Git部署
- 在Azure门户的Web应用页面,找到“部署中心”,选择“本地Git”作为部署源,点击“保存”
- 复制页面给出的Git克隆URL
- 本地终端进入应用目录,初始化Git(未初始化过的话):
git init git add . git commit -m "Initial deploy commit" git remote add azure <复制的Git URL> git push azure master - 输入Azure的部署用户名和密码(可在部署中心的“用户凭据”中设置/查看),等待代码推送完成
四、验证与排错
- 部署完成后,直接访问
https://<你的应用名>.azurewebsites.net,能正常显示Flask应用内容即为部署成功 - 若访问出错,可通过以下方式排查:
- 在Azure门户的Web应用页面,打开“日志流”查看实时错误日志
- 终端执行
az webapp log tail --name <你的应用名>查看详细运行日志 - 检查启动命令:如果主文件不是
app.py或入口对象不是app,需在Azure门户的“配置”→“通用设置”中设置启动命令,示例:
(gunicorn --bind=0.0.0.0 --timeout 600 main:appmain为主文件名,app为Flask实例对象)
内容的提问来源于stack exchange,提问作者ishahak
相关产品推荐
相关产品推荐

