温馨提示×

debian apache日志为何变大

小樊
41
2026-09-16 10:47:02
栏目: 智能运维

Debian 上 Apache 日志突然或持续变大的原因通常可以归纳为以下几类,从最常见较少见依次说明,并给出排查方法。


一、访问量正常增长(最常见)

  • 网站访问量上升
  • 被爬虫、搜索引擎频繁抓取
  • 接口被移动端/第三方频繁调用

判断方法

wc -l /var/log/apache2/access.log

或看单位时间增长:

tail -f /var/log/apache2/access.log

二、被恶意访问 / 攻击

1. 被扫描、爆破、垃圾爬虫

日志中常见:

  • 大量 404
  • 访问 /wp-login.php/admin/.env
  • 同一 IP 高频请求

查看异常 IP

awk '{print $1}' /var/log/apache2/access.log | sort | uniq -c | sort -nr | head

2. CC / 轻微 DDoS

  • 短时间巨量请求
  • access.log 几分钟就几 MB

三、日志级别设置过低(记录太详细)

Apache 默认:

LogLevel warn

如果设置成:

LogLevel debug

LogLevel info

error.log 会迅速膨胀。

检查

grep LogLevel /etc/apache2/conf-enabled/* /etc/apache2/apache2.conf

四、错误页面或重写规则导致循环

常见问题:

  • 404 页面本身又触发请求
  • Rewrite 死循环
  • PHP 报错不断写入 error.log

现象

  • error.log 增长极快
  • 内容重复类似

五、未正确配置日志轮转(logrotate)

Debian 通常用 logrotate

/etc/logrotate.d/apache2

如果:

  • 禁用了 logrotate
  • 自定义配置错误
  • 日志未 reload Apache

会导致:

  • access.log / error.log 一直追加
  • 从不切割

检查

ls -lh /var/log/apache2/
cat /etc/logrotate.d/apache2

六、访问日志格式包含大内容

例如:

  • 记录 Referer / User-Agent 很长
  • 代理链信息
  • POST 数据(少见)

查看日志格式

grep LogFormat /etc/apache2/apapche2.conf

七、虚拟主机日志未分离或重复

  • 多个 vhost 写同一个日志
  • CustomLog 被重复定义

八、磁盘没满但“看起来很大”

有时:

  • 旧日志没删
  • .1 .2 .gz 堆积
du -sh /var/log/apache2/*

快速排查清单(建议按顺序)

# 1. 看哪个日志大
du -sh /var/log/apache2/*

# 2. 看实时增长
tail -f /var/log/apache2/access.log

# 3. 看最多 IP
awk '{print $1}' /var/log/apache2/access.log | sort | uniq -c | sort -nr | head

# 4. 看错误日志内容
tail -n 50 /var/log/apache2/error.log

# 5. 看 logrotate
cat /etc/logrotate.d/apache2

如果你愿意,可以把:

  • 日志大小
  • tail 几行日志
  • Apache 版本

发出来,我可以直接帮你判断是流量问题还是配置问题

0