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

Azure应用Zip部署时.deployment文件未生效问题求助

排查与解决方法
  • 验证.deployment文件的正确性
    确保.deployment文件放在Zip包的根目录,内容格式严格符合要求,必须通过command字段指定脚本执行命令,示例:

    [config]
    command = bash startup.sh
    

    注意Linux环境区分大小写,文件名.deployment(开头带点)不能拼写错误,startup.sh的路径要和实际位置完全匹配。

  • 修复startup.sh的执行环境声明
    脚本开头必须添加shebang标识,明确指定执行环境:

    #!/bin/bash
    

    同时避免依赖脚本的可执行权限,直接通过bash startup.sh调用(如上述.deployment配置),也可在脚本开头自行添加权限:

    chmod +x "$0"
    
  • 规避Run Package模式的只读限制
    如果应用启用了WEBSITE_RUN_FROM_PACKAGE=1(Zip部署默认模式),此时文件系统为只读状态,自定义部署脚本无法执行依赖安装这类写入操作。解决方式:

    1. 本地提前将依赖打包到项目目录:
      pip install --target ./backend/lib -r requirements.txt --no-index --find-links downloaded_pip
      
    2. 修改startup.sh,让Python加载本地依赖:
      cd /home/site/wwwroot/backend
      export PYTHONPATH=$PYTHONPATH:/home/site/wwwroot/backend/lib
      gunicorn --bind=0.0.0.0:8081 --timeout 600 app:app
      
  • 替换相对路径为绝对路径
    部署时的工作目录可能并非预期的根目录,脚本中所有路径改用绝对路径:

    # 替换 cd backend 为
    cd /home/site/wwwroot/backend
    # 替换pip为Azure对应Python版本的绝对路径,例如3.9版本:
    /opt/python/3.9/bin/pip install --no-index --find-links /home/site/wwwroot/backend/downloaded_pip -r /home/site/wwwroot/backend/requirements.txt
    
  • 通过日志定位具体错误
    登录Kudu控制台(Azure门户→应用服务→高级工具→Go),查看以下日志:

    • /home/site/deployments/latest/log.log:部署全过程日志,确认是否执行了.deployment指定的命令,以及是否有报错
    • 可在startup.sh中添加日志输出,方便排查执行问题:
      pip install ... >> /home/site/wwwroot/startup.log 2>&1
      gunicorn ... >> /home/site/wwwroot/startup.log 2>&1
      
  • 检查启动命令冲突
    确认Azure门户“配置→通用设置”中未设置启动命令,该配置会直接覆盖.deployment文件的command字段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 15:52:38