部署React应用至Azure App Service时出现“磁盘空间不足”错误
排查Azure App Service D1计划磁盘空间不足的问题
首先明确:D1(共享)计划的磁盘配额仅1GB,这个额度包含应用文件、日志、缓存、临时文件在内的总占用,哪怕你的React应用本身体积小,也很容易触发空间不足。以下是具体排查和解决方向:
一、定位磁盘占用的操作步骤
- 打开Kudu管理控制台(通过App Service门户的「高级工具」进入),用命令定位大文件/目录:
- PowerShell:
Get-ChildItem D:\home -Recurse | Sort-Object Length -Descending | Select-Object -First 20 FullName, Length - Bash:
du -h D:/home | sort -rh | head -20
- PowerShell:
- 重点检查核心目录:
D:\home\LogFiles:平台日志、应用日志默认存储于此,即便未手动配置,也可能积累大量旧日志D:\home\site\deployments:部署记录和临时解压包,旧部署的残留文件会持续占用空间D:\home\.npm/D:\home\.cache:Node.js依赖的缓存目录,重复部署可能导致冗余积累D:\home\site\wwwroot\node_modules:若每次部署都重新安装且未清理,可能存在无效依赖文件D:\home\Temp:系统临时文件,部署过程中残留的压缩包、临时脚本常存于此
二、常见原因及解决办法
- 部署残留文件过多:
- VS Code部署时,勾选「删除目标中的现有文件」选项;GitHub Actions部署时,在部署步骤前添加清理命令:
Remove-Item -Path D:\home\site\wwwroot\* -Recurse -Force - 定期清理
D:\home\site\deployments下的旧文件夹,保留最新1-2个即可
- VS Code部署时,勾选「删除目标中的现有文件」选项;GitHub Actions部署时,在部署步骤前添加清理命令:
- 日志文件积累:
- 在App Service门户「监控 > 日志」中设置日志保留天数(比如7天),让系统自动清理旧日志
- 手动删除
LogFiles目录下的过期日志,或关闭非必要的日志类型(如HTTP访问日志)
- 依赖缓存冗余:
- 部署时用
npm ci代替npm install,减少无关依赖缓存;部署脚本末尾添加缓存清理命令:rm -rf node_modules/.cache - 手动删除
D:\home\.npm中的缓存文件,释放空间
- 部署时用
- 意外生成的大文件:
- 检查React应用是否在运行时生成大文件(如用户上传资源、临时静态文件),若有,不要存储在本地磁盘,改用Azure Blob Storage等外部存储方案
内容的提问来源于stack exchange,提问作者jmath412
相关产品推荐
相关产品推荐

