AWS服务器WordPress上传媒体时出现Failed to write file to disk错误
解决AWS上WordPress上传媒体报错"Failed to write file to disk"的问题
从你提供的磁盘挂载信息一眼就能看出核心问题:根目录 /dev/xvda1 已经100%被占满了——这才是上传失败的真正原因,和你调整的文件夹权限无关,毕竟磁盘连一点剩余空间都没有,根本没法写入新文件。下面给你分步骤的解决方案:
一、紧急清理空间,先恢复上传功能
先释放一部分临时空间,让WordPress能正常工作:
- 先定位系统里的大文件/大目录,找到空间占用大户:
sudo du -h / --max-depth=1 | sort -hr - 清理冗余的系统日志:旧日志通常是空间占用的重灾区,用日志工具快速清理:
sudo journalctl --vacuum-size=100M # 也可以手动删除/var/log下的压缩旧日志(别删正在写入的实时日志) sudo rm -f /var/log/*.gz - 清空WordPress缓存:如果用了缓存插件,先在后台清空缓存;也可以手动删除缓存目录:
sudo rm -rf /var/www/html/wp-content/cache/* - 清理临时文件:
/tmp目录里经常会遗留没用的大文件,直接清空:sudo rm -rf /tmp/*
二、扩容根EBS卷(长期解决办法)
你的根卷只有8G,空间太小根本不够用,建议直接扩容:
- AWS控制台操作:
- 打开EC2控制台,找到你的实例,查看挂载的根EBS卷ID
- 进入EBS卷管理页面,选中该卷,点击「修改卷」,把容量调整到合适大小(比如20G以上)
- 服务器端扩展文件系统:
卷扩容后需要让系统识别新容量,执行以下命令:# 大部分AWS Linux实例默认是ext4文件系统,用这个命令扩容 sudo resize2fs /dev/xvda1 # 验证扩容结果 df -h
三、后续预防建议
- 把WordPress的
uploads目录挂载到单独的EBS卷:这样媒体文件不会占用根目录空间,后续扩容也更灵活 - 配置日志自动轮转:给系统日志和WordPress日志设置自动轮转、清理规则,防止日志爆仓
- 开启CloudWatch磁盘监控:设置磁盘使用率告警,提前发现空间不足的问题,避免再次出现类似故障
内容的提问来源于stack exchange,提问作者Gufran Hasan
相关产品推荐
相关产品推荐

