温馨提示×

怎样用grep查nginx日志

小樊
46
2026-09-02 14:08:04
栏目: 编程语言

下面按常见需求给你讲怎么用 grepnginx 日志(默认路径通常是 /var/log/nginx/access.log/var/log/nginx/error.log)。


一、基本用法

grep "关键字" /var/log/nginx/access.log

例如查包含 404 的访问:

grep " 404 " /var/log/nginx/access.log

二、常用查找场景

1️⃣ 查某个 IP 的访问

grep "192.168.1.100" /var/log/nginx/access.log

2️⃣ 查某个接口 / URL

grep "/api/login" /var/log/nginx/access.log

3️⃣ 查错误日志

grep "error" /var/log/nginx/error.log

4️⃣ 查 500 错误

grep " 500 " /var/log/nginx/access.log

5️⃣ 查某段时间的日志(近似)

grep "10/Apr/2024:14:" /var/log/nginx/access.log

三、grep 常用参数

显示行号

grep -n "404" access.log

忽略大小写

grep -i "error" error.log

反向匹配(不包含)

grep -v "200" access.log

统计出现次数

grep -c "404" access.log

多个关键字(或)

grep -E "404|500|502" access.log

四、结合 tail 实时查日志

tail -f /var/log/nginx/access.log | grep "404"

五、按状态码统计(进阶)

grep -oE " [0-9]{3} " access.log | sort | uniq -c | sort -nr

六、实用组合示例

查某 IP 的 404

grep "192.168.1.100" access.log | grep "404"

查今天某接口的 500

grep "11/Apr/2024" access.log | grep "/api/pay" | grep "500"

如果你愿意,我可以:

  • 按你的 nginx 日志格式写精确 grep
  • 教你用 awk / jq 更强大地分析日志
  • 帮你写 线上排错命令组合

你现在主要想查什么?(IP / 接口 / 错误码 / 性能)

0