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

如何通过PowerShell部署Zip包到Azure App Service:文件路径与WEBSITE配置

Azure App Service Zip部署问题与WEBSITE_RUN_FROM_PACKAGE配置说明

一、解决Zip包解压后文件嵌套在子目录的问题

你遇到的DLL都在test文件夹里的问题,根源是Zip包的结构不对:你的Zip包根目录是test文件夹,所有部署文件都嵌套在这个文件夹下,部署时Azure会直接将整个Zip结构解压到wwwroot,最终形成wwwroot/test/xxx.dll的路径。

解决方法很直接:

  • 重新打包Zip文件:进入test文件夹,选中所有需要部署的文件(不要选中test文件夹本身),然后压缩成新的Zip包。这样新Zip包的根目录就是这些文件,部署后会直接解压到wwwroot下,不会出现嵌套子目录。
  • 你的PowerShell部署命令本身没有问题,只要Zip包结构正确,执行az webapp deployment source config-zip --resource-group <MY_RG> --name <MY_APP> --src $sourceZip就能将文件直接部署到wwwroot。

二、WEBSITE_RUN_FROM_PACKAGE配置项说明

作用

该配置项启用后,App Service会直接从Zip包运行应用,无需解压到wwwroot,能避免文件锁定问题,提升部署一致性和速度。

设置方法

1. Azure CLI方式

执行以下PowerShell命令(替换<MY_RG>和<MY_APP>为你的资源组和应用名称):

az webapp config appsettings set --resource-group <MY_RG> --name <MY_APP> --settings WEBSITE_RUN_FROM_PACKAGE=<取值>

2. Azure门户方式

登录Azure门户,进入你的App Service -> 左侧菜单选择「配置」->「应用程序设置」-> 点击「新建应用程序设置」,添加键为WEBSITE_RUN_FROM_PACKAGE,值为对应的取值。

取值说明

  • 值为1:启用从本地部署的Zip包运行模式。使用az webapp deployment source config-zip部署后,App Service会将Zip包上传到内部存储,直接从包运行应用。此时wwwroot为只读状态,无法修改其中的文件。
  • 值为Azure Blob存储的SAS URL:如果Zip包存放在Azure Blob存储中,可直接填入带有访问权限的SAS URL,App Service会从Blob加载包运行。适合需要共享包或自动化部署的场景。

注意事项

如果你的应用需要向wwwroot写入文件(比如用户上传功能),则不适合启用该配置,需将写入路径调整到D:\home\data等非只读目录,或者关闭此配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 12:50:58