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

Azure Linux Web App启动失败:容器未响应7007端口HTTP探测

排查Azure Web App容器站点启动失败(端口无响应)问题

你部署的Azure Web App运行Azure容器注册表镜像,容器可正常启动但站点启动失败,服务使用7007端口,已设置WEBSITES_PORT=7007,Dockerfile为Backstage多阶段构建,此前运行正常,近期出现以下报错:

ERROR - Container for site has exited, failing site start
Ok
2024-06-13T17:05:48.847
ERROR - Container didn't respond to HTTP pings on port: 7007, failing site start. See container logs for debugging.
Ok
2024-06-13T17:05:48.849
INFO - Stopping site because it failed during startup.

按以下步骤排查:

  • 查看容器内部详细启动日志
    通过Azure Portal的「日志流」或Azure CLI命令实时查看容器日志,获取服务启动失败的具体原因:

    az webapp log tail --name <你的应用名> --resource-group <你的资源组名>
    
  • 确认服务监听地址为0.0.0.0
    若服务仅绑定localhost,Azure的健康检查无法访问。检查Backstage启动配置:

    • 启动命令是否包含--listen 0.0.0.0:7007参数
    • 配置文件中是否设置listen: 0.0.0.0
  • 验证容器内端口监听状态
    进入容器内部,检查7007端口是否被正确占用:

    1. 执行命令进入容器:
      az webapp exec --name <你的应用名> --resource-group <你的资源组名> --command "bash"
      
    2. 查看端口监听情况:
      netstat -tulpn | grep 7007
      # 或ss命令(若netstat未安装)
      ss -tulpn | grep 7007
      

    确认输出中存在Backstage服务进程,且监听地址为0.0.0.0:7007而非127.0.0.1:7007。

  • 排查镜像或依赖变更
    故障出现在两周前,需检查:

    • Dockerfile是否有修改(比如基础镜像版本、构建步骤变更)
    • Backstage版本是否更新,是否存在兼容性问题
    • 依赖包是否有版本升级导致启动失败
  • 验证Azure Web App配置有效性
    确认WEBSITES_PORT环境变量已正确生效:

    az webapp config appsettings list --name <你的应用名> --resource-group <你的资源组名>
    

    检查输出中WEBSITES_PORT的值是否为7007,同时排查是否有新增环境变量干扰服务启动。

  • 调整健康检查配置
    Azure默认健康检查访问根路径,若Backstage根路径需认证或重定向,会导致检查失败:

    • 设置WEBSITES_HEALTHCHECK_PATH环境变量为Backstage的健康检查端点(如/health,需确认服务提供该端点)
    • 测试容器内访问健康路径是否返回200状态码:
      curl -I http://localhost:7007/<健康路径>
      
  • 检查资源限制
    查看Azure Web App的CPU、内存指标,若资源耗尽会导致服务启动后崩溃:

    • 在Azure Portal的「指标」中查看CPU使用率、内存占用趋势
    • 必要时升级App Service计划层级,增加资源配额

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 14:19:59