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

Flask + MongoDB:本地应用部署至Azure Web App入门指南

本地Flask应用部署至Microsoft Azure Web应用操作指南

我花了好几个小时翻了几十篇指南才搞定可用的部署环境,下面是亲测有效的操作步骤:

一、本地应用准备

  • 确保你的Flask应用在本地能正常运行,比如执行python app.py后,可通过localhost:5000访问到内容
  • 生成requirements.txt文件,把所有依赖项明确列出:在本地虚拟环境中运行
    pip freeze > requirements.txt
    
    示例requirements.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:app
      
      (main为主文件名,app为Flask实例对象)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 06:15:40