Debian 上 Apache 日志变大的原因通常可以分成 正常增长 和 异常增长 两类。下面按常见情况说明:
access.log)会持续变大常见文件:
/var/log/apache2/access.log
/var/log/apache2/error.log
Debian 默认用 logrotate 管理 Apache 日志:
/etc/logrotate.d/apache2
如果:
日志就会一直追加,不压缩、不切割。
检查:
ls -lh /var/log/apache2/
cat /etc/logrotate.d/apache2
常见于:
表现:
access.log 短时间内暴涨查看访问最多的 IP:
awk '{print $1}' /var/log/apache2/access.log | sort | uniq -c | sort -nr | head
可能原因:
查看错误:
tail -n 50 /var/log/apache2/error.log
例如:
LogLevel 设置过低(debug)mod_status、mod_dumpio 等检查:
grep -R "LogLevel" /etc/apache2/
有时:
导致日志“看起来”异常大。
logrotate -d /etc/logrotate.d/apache2
/var/log/apache2/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 640 root adm
sharedscripts
postrotate
systemctl reload apache2 > /dev/null 2>&1 || true
endscript
}
<RequireAll>
Require all granted
Require not ip 1.2.3.4
</RequireAll>
LogLevel warn
SetEnvIf Request_URI "\.(css|js|png|jpg|gif)$" static
CustomLog ${APACHE_LOG_DIR}/access.log combined env=!static
哪个日志大?
access.log → 访问问题error.log → 程序/配置问题增长快慢?
logrotate 是否工作?
如果你愿意,可以贴出:
access.log 几行样本我可以帮你精准判断是哪一种原因。