您好!欢迎访问否玩代码!
My title page contents
广告位

507 Insufficient Storage 报错?三分钟排查清理指南

栏目: 日期: 浏览:128

你是否也曾碰到过这般状况: 网站陡然无法打开, 要不就是在上传图片、发布文章之际, 服务器径直丢给你一个“507 Insufficient Storage”的差错。莫惊慌, 请放心, 这儿并非代码书写有误, 也不是遭受了攻击, 最为直接的缘由便乃是——磁盘空间切实已满了。

身为一名站长或者开发者, 当碰到507报错时, 首要步骤并非去翻阅日志, 而是先要确认磁盘空间的状况。接下来要说的这套排查以及清理流程, 你依照去做, 在3分钟之内便能够完成。

1. 快速确认磁盘占用情况

登录服务器,执行以下命令:

df -h

你会看到类似这样的输出:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        50G   48G  2.1G  96% /

要是, 根目录那儿的 Use% 达成超过 95% 的状况, 507 报错基本上便是因磁盘空间欠缺造成的结果。

2. 找出哪些目录吃掉了空间

使用 du 命令逐级排查:

du -sh /var/log
du -sh /tmp
du -sh /home

最常中招的是这三个地方:

/var/log 当中, 存在着 Nginx 或者 Apache 的访问日志, 还有错误日志, 要是几天都不进行清理的话, 就能够吃掉几十 G 的空间。

/ tmp, 是临时文件, 特别是 PHP 会话期间会用到的的文件, 或者是起到缓存功能的文件。

/home这个路径下, 存放着用户上传的备份文件, 还有图片缓存。

3. 清理实战:三步释放空间

① 清日志

# 清理 Nginx 日志(先确认日志路径)
find /var/log/nginx -type f -name "*.log" -exec truncate -s 0 {} ;
# 清理系统日志
journalctl --vacuum-size=200M

② 清理 Docker 残留(如果你在用)

docker system prune -a --volumes

③ 清理包管理器缓存

# Ubuntu/Debian
apt-get clean
# CentOS
yum clean all

4. 确认空间已释放

第二次去运行 df -h, 要是 Avail呈现正常状况了的话, 那就重新启动一回Web服务或者PHP-FPM。

systemctl restart nginx
systemctl restart php-fpm

之后刷新一下网站页面,507 报错应该就消失了。

5. 预防方案

对日志进行自动轮转的配置操作: 展开编辑 /etc/logrotate.conf, 进行设置 size 100M, 并且添加 rotate 4的指令安排。

在服务器上用 cron 定时执行磁盘清理脚本。

设置磁盘告警:比如磁盘使用率超过 85% 时发邮件通知你。

最后再提醒一回: 要是你的服务器空间真正是非常紧张, 又不愿意老是进行频繁的手动清理操作, 那就能够考虑去升级你的磁盘, 或者去挂载额外的存储设备。不过在这之前, 得先把上面提到的这几步完成, 这是能够起到救急作用的。

要是你所需的是更为具备一键式特点的清理工具, 那么也能够去试着用一用某些开源的服务器监控脚本。在日常的运维工作当中, 磁盘空间满了此种状况属于一个基础性的问题, 然而常常会耗费人一下午的时间进行问题处理。牢记好这一套流程, 下次碰到的时候能够直接快速解决掉。

否玩代码编辑 https://www.fouwan.com