奋斗
努力

wordpress云服务器系统盘快满了?

云计算

当你的 WordPress 云服务器系统盘快满了,可能会导致网站无法访问、数据库写入失败、更新失败等问题。以下是排查和解决该问题的完整步骤:


🔍 一、检查磁盘使用情况

登录服务器(通过 SSH)执行以下命令查看磁盘使用情况:

df -h

重点关注 /(根目录)或 /dev/vda1 等系统盘的使用率。

如果使用率超过 90%,就需要清理了。


🧹 二、查找大文件/目录

  1. 查看各目录占用空间:
du -sh /* 2>/dev/null | sort -hr | head -10

这会列出根目录下最大的前10个目录。

  1. 深入某个目录继续查找(例如 /var):
du -sh /var/* 2>/dev/null | sort -hr | head -10

常见大文件来源:

  • /var/log:日志文件
  • /var/www/html:WordPress 文件(特别是媒体上传)
  • /tmp:临时文件
  • 备份文件(如 .tar.gz, .sql

🛠️ 三、常见清理方案

✅ 1. 清理系统日志(/var/log)

Linux 系统日志可能非常大,尤其是 Nginx/Apache 错误日志。

# 查看日志大小
du -sh /var/log/*

# 清空大日志文件(不要直接删除,避免服务出错)
> /var/log/nginx/error.log
> /var/log/apache2/error.log
> /var/log/syslog

⚠️ 注意:用 > 清空比 rm 更安全,不会中断正在写入的日志进程。

你也可以使用 logrotate 配置自动轮转日志。


✅ 2. 删除旧的 WordPress 备份文件

很多用户或插件(如 UpdraftPlus、All-in-One WP Migration)会在服务器上留下备份包。

检查并删除:

find /var/www/html -name "*.zip" -o -name "*.tar.gz" -o -name "*.sql"

手动删除不需要的备份:

rm /var/www/html/backup_2023.sql

✅ 3. 清理 WordPress 媒体库垃圾

  • 检查是否有大量未使用的上传文件(可通过插件如 Media Cleaner 扫描)。
  • 删除 wp-content/uploads 中的测试图片、旧版本文件。

✅ 4. 清理缓存文件

  • 对象缓存 / 页面缓存:如 WP Super Cache、W3 Total Cache 的缓存文件。
  • 手动删除缓存目录:
rm -rf /var/www/html/wp-content/cache/*

✅ 推荐使用插件后台清除,更安全。


✅ 5. 删除无用的 PHP 版本或软件包

如果你使用多 PHP 版本(如 via ondrej/php PPA),旧版本可能占用空间。

sudo apt list --installed | grep php
sudo apt remove php7.4-common  # 示例:卸载不用的版本
sudo apt autoremove

✅ 6. 清理 APT 缓存(Ubuntu/Debian)

sudo apt clean
sudo apt autoremove

可释放几百 MB 空间。


✅ 7. 检查 MySQL 数据库是否过大

有时数据库 .ibd 文件很大:

du -sh /var/lib/mysql/

进入 MySQL 优化:

-- 查看各表大小
SELECT 
  table_schema as database_name,
  table_name,
  round(((data_length + index_length) / 1024 / 1024), 2) AS size_mb
FROM information_schema.tables
ORDER BY size_mb DESC
LIMIT 10;
  • 删除不必要的文章修订版、垃圾评论、插件残留数据。
  • 使用插件如 WP-Optimize 自动优化数据库。

💡 四、长期解决方案

方案 说明
升级系统盘 在云平台(阿里云、腾讯云、AWS)扩容云盘(需注意操作风险)
挂载数据盘 /var/www/var/lib/mysql 迁移到新挂载的数据盘
使用对象存储 把 WordPress 上传文件同步到 OSS/S3,减少本地占用
定期清理脚本 写 cron 定时任务自动清空日志、缓存

🔄 示例:自动清理日志脚本(加入 cron)

# 编辑定时任务
crontab -e

# 每月1号清空大日志
0 0 1 * * > /var/log/nginx/access.log
0 0 1 * * > /var/log/nginx/error.log

📌 总结建议

  1. 先用 df -hdu -sh 找出“罪魁祸首”。
  2. 优先清理日志、备份、缓存等非核心文件。
  3. 不要随便删除未知文件,防止系统崩溃。
  4. 长期考虑迁移或扩容。

如果你告诉我你用的是哪家云服务器(如阿里云、腾讯云、AWS)、系统类型(Ubuntu/CentOS)和 Web 环境(LNMP/LAMP),我可以提供更具体的命令和操作建议。

未经允许不得转载:云服务器 » wordpress云服务器系统盘快满了?