nginx 日志“频繁刷新”通常不是异常,而是正常行为或配置/业务特征导致的。下面按常见原因逐一说明,你可以对照排查。
✅ 判断:
wc -l access.log
tail -f access.log
如果每秒都有新行,且来源正常,就是正常流量。
/health、/ping示例日志:
GET /healthz HTTP/1.1" 200
✅ 这是设计行为,不是问题。
示例:
GET /wp-admin HTTP/1.1" 404
✅ 可限流或封 IP。
error_log /var/log/nginx/error.log debug;
✅ 改回:
error_log /var/log/nginx/error.log warn;
✅ 检查:
tail error.log
✅ 建议:
access_log off; # 不必要接口
✅ 看日志中的:
location / {
proxy_pass http://localhost;
}
导致请求被反复转发。
✅ 检查是否有 301/302 循环。
✅ 特征:
✅ 应对:
limit_req_zone $binary_remote_addr zone=req:10m rate=10r/s;
# 实时看
tail -f /var/log/nginx/access.log
# 统计 IP
awk '{print $1}' access.log | sort | uniq -c | sort -nr | head
# 统计 URL
awk '{print $7}' access.log | sort | uniq -c | sort -nr | head
# 状态码
awk '{print $9}' access.log | sort | uniq -c
如果你愿意,可以:
我可以直接帮你判断是“正常”还是“有问题”。