一个子站的 uploads 写到 4.8GB 后,上传图片报“No space left on device”,同服务器其他子站上传正常。乍看像缓存或者权限的锅,追下去往往不是。
df -h /var/www quota -s -u www-data du -sh wp-content/uploads/sites/2
追下去是这么回事:主机给每个子站挂了 5GB 的磁盘配额,附件目录先触顶。WordPress 自身不做配额检查,错误直接从文件系统抛出来,后台只显示上传失败。
「子站配额磁盘满」相关的验证我通常做两遍,改完一次、隔天再看一次,确认不是临时生效。接口问题先分清是没发出去、发出去了没收到,还是收到了处理失败。
偶发问题先统计频率,一小时几次和一天一次,查法完全不同。改完顺手把文档补一句,省得下次自己重新推一遍。
监控和日志的时间要对上,时区不一致会多绕很大一圈。临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。
具体做法是,用 df 和 quota 确认是配额还是整盘满;清理未被引用的附件和旧备份;调高该子站配额或把原图转对象存储。
验收就看一点,子站恢复上传,配额使用率降到 80% 以下,其他子站不受影响。
