Skip to content
返回部署

部署到 Azure App Service

Azure 托管 PaaS 用于 Web 应用,从 Git、容器或 ZIP 部署,含自动扩缩。

平台高级

为什么

App Service 是 Azure 托管 Web 托管,内置 TLS、自动扩缩、部署槽和 AAD 认证。支持 .NET、Node、Python、Java 和容器一键部署。

何时使用

企业 Azure 工作负载、.NET 应用和已在 Azure 的团队用 App Service。容器化微服务优先 Container Apps。

如何做

1. 创建 — az webapp up --runtime NODE:20-lts 2. Git 部署 — 配置部署源为 GitHub 仓库 3. 容器 — az webapp config container set --docker-custom-image 4. 槽 — 部署槽用于 staging,部署时自动交换 5. 自动扩缩 — CPU/内存扩缩规则 6. 连接字符串 — 链接 Azure SQL、Cosmos DB 7. 日志 — az webapp log tail 流式

示例

# 部署 Node.js 应用 az webapp up --name myapp --runtime "NODE:20-lts" --location eastus # 部署容器 az webapp create --name myapp --plan myplan --deployment-container-image-name mycr.azurecr.io/app:v1 # staging 部署槽 az webapp deployment slot create --name myapp --slot staging az webapp deployment slot auto-swap --name myapp --slot staging # 扩缩规则 az monitor autoscale create --resource myapp --count 2 --min-count 1 --max-count 10

常见问题

  • ⚠应用启动但 503 — 运行时版本错误或启动命令不匹配
  • ⚠槽交换失败 — 应用设置粘槽,检查 slotSetting: true
  • ⚠环境间配置漂移 — 使用基础设施即代码(Terraform/Pulumi)保持 dev/staging/prod 一致

最佳实践

  • ✓零停机用部署槽 — 部署 staging,测试,自动交换生产
  • ✓设 WEBSITES_PORT 匹配应用端口 — 避免错误端口检测 503
  • ✓设置健康检查和优雅关闭 — 处理 SIGTERM 以在退出前排空进行中的请求

常见问题解答