Azure WordPress应用服务wwwroot目录权限无法修改求助
解决Azure App Service中WordPress文件权限无法修改的问题
问题本质
Azure App Service部署的WordPress,其wwwroot目录挂载的是Azure Files网络存储,平台会强制控制文件/目录的权限继承逻辑,常规SSH会话中执行的chmod命令仅在当前会话临时生效,退出或重启后会被平台重置回777,所以你执行的命令看不到持久效果。
有效解决方案
方法1:通过Azure门户设置启动命令
- 登录Azure门户,找到你的WordPress App Service实例
- 进入「配置」→「常规设置」→「启动命令」
- 输入以下命令(适配Apache运行时,若为Nginx可替换最后启动命令):
find /home/site/wwwroot -type d -exec chmod 775 {} \; && find /home/site/wwwroot -type f -exec chmod 644 {} \; && apache2-foreground - 保存配置后,重启App Service,权限会在每次启动时自动应用
方法2:使用自定义启动脚本
- 通过App Service的SSH终端或FTP,在
/home/site/wwwroot目录下创建startup.sh文件,内容如下:#!/bin/bash # 设置目录权限为775 find /home/site/wwwroot -type d -exec chmod 775 {} \; # 设置文件权限为644 find /home/site/wwwroot -type f -exec chmod 644 {} \; # 启动Web服务器(继承默认启动命令) exec "$@" - 给脚本添加执行权限:
chmod +x /home/site/wwwroot/startup.sh(此操作仅临时生效,但不影响脚本执行) - 回到Azure门户的「配置」→「常规设置」,将启动命令设置为:
./startup.sh - 重启App Service即可
注意事项
- 每次通过部署中心(GitHub、Azure DevOps等)重新部署代码后,权限会被重置,上述两种方法会在每次启动时自动重新设置权限,无需手动操作
- 若WordPress的
wp-content/uploads等需要写入的目录出现权限问题,可单独在启动命令中追加chmod 777 /home/site/wwwroot/wp-content/uploads(仅必要时使用)
内容的提问来源于stack exchange,提问作者Qiuzman
相关产品推荐
相关产品推荐

