Debian 上 Nginx 日志突然增多通常不是 Nginx 本身“出问题”,而是请求量、配置或系统状态发生了变化。下面按常见原因 → 排查方法 → 解决建议来说明。
排查:
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head
看是否是某些 IP 访问特别多。
/wp-admin、/.env、/phpmyadmin特征:
查看 404 数量:
grep " 404 " /var/log/nginx/access.log | wc -l
解决:
fail2ban常见原因:
查看:
tail -n 50 /var/log/nginx/error.log
如果 error_log 级别是 info 或 debug,日志会非常多。
检查:
error_log /var/log/nginx/error.log warn;
推荐:
warn 或 errordebugDebian 默认用 logrotate:
/etc/logrotate.d/nginx
如果:
会导致单文件暴涨
检查:
ls -lh /var/log/nginx/
这些也会持续写日志。
# 1. 看访问最多的 IP
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head
# 2. 看状态码分布
awk '{print $9}' /var/log/nginx/access.log | sort | uniq -c | sort -nr
# 3. 看错误日志
tail -f /var/log/nginx/error.log
# 4. 看日志大小
du -sh /var/log/nginx/*
location = /favicon.ico {
access_log off;
}
if ($http_user_agent ~* (bot|spider|crawl)) {
return 403;
}
确保:
systemctl status logrotate
你可以贴出:
nginx -Vnginx.conf 相关部分我可以帮你精确定位是哪种原因导致的日志增多。