温馨提示×

nginx日志为何突然暴涨

小樊
46
2026-10-02 16:22:03
栏目: 编程语言

nginx 日志突然暴涨,通常不是 nginx 本身的问题,而是请求量或错误量异常增加。下面按常见原因从高到低给你梳理一下,你可以对照排查:


一、最常见原因

1. 被爬虫 / 扫描器 / 攻击流量打

  • 恶意 IP 大量访问
  • 扫描 /wp-admin、/.env、/phpmyadmin 等
  • CC 攻击、低频爬虫

排查:

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

看是不是某几个 IP 特别多。


2. 后端报错导致 5xx 日志暴增

  • 502 / 504 / 500 大量出现
  • 错误日志 error.log 同步暴涨

排查:

awk '{print $9}' access.log | sort | uniq -c | sort -nr

如果是 5xx 多,看:

tail -f error.log

3. 健康检查 / 监控频繁访问

  • K8s、SLB、Nginx、Prometheus
  • 配置错误导致频率异常高

特征:

  • URL 很固定(如 /healthz)
  • User-Agent 很规律

4. 前端或接口无限重试

  • JS 请求失败不停重试
  • 移动端轮询逻辑异常

5. rewrite / 重定向死循环

  • 301/302 循环
  • 一个请求产生多条日志

现象:

  • 单 IP 短时间大量同 URL
  • CPU 也升高

二、配置相关原因

6. 日志级别太低

error_log /var/log/nginx/error.log debug;

debug 模式日志量非常大。


7. access_log 没限制

  • 没关闭静态资源日志
  • 没做日志分割

建议:

location ~* \.(js|css|png)$ {
    access_log off;
}

8. 日志没有 rotate

  • 单文件无限增长
  • 看起来“突然暴涨”

检查:

ls -lh /var/log/nginx/

三、快速应急处理

  1. 临时封 IP
deny 1.2.3.4;
  1. 限流
limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;
  1. 切 debug 为 warn
error_log /var/log/nginx/error.log warn;

四、你可以补充这些信息,我可以更精确定位

  • access.log 还是 error.log 暴涨?
  • 是否有 4xx / 5xx 激增?
  • 是否单 IP 或单 URL?
  • 是否刚发版 / 改 nginx 配置?

你可以贴几行日志(脱敏后),我直接帮你判断。

0 踩