温馨提示×

如何实时查看nginx日志变化

小樊
69
2026-09-10 07:23:11
栏目: 编程语言

实时查看 Nginx 日志变化,常用且高效的方法如下:


一、最常用:tail -f

适用于实时滚动查看日志新增内容。

tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log
  • -f:持续监听文件变化
  • Ctrl + C 退出

✅ 适合:单文件、实时观察请求


二、同时查看访问 + 错误日志

tail -f /var/log/nginx/access.log /var/log/nginx/error.log

日志会带文件名前缀,方便区分。


三、查看最近 N 行并实时跟踪

tail -n 100 -f /var/log/nginx/access.log

先显示最后 100 行,再实时跟踪。


四、实时过滤关键字(非常实用)

例如只看 404、500:

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

忽略大小写:

tail -f access.log | grep -i "timeout"

五、实时监控某个 IP 的请求

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

六、按时间高亮(增强可读性)

tail -f /var/log/nginx/access.log | awk '{print strftime("%T"), $0}'

七、使用 less 实时查看(可上下翻)

less +F /var/log/nginx/access.log
  • Ctrl + C:暂停
  • F:继续实时跟踪
  • q:退出

✅ 适合:日志较长、需要回看


八、多日志聚合(进阶)

如果你有多个站点日志:

tail -f /var/log/nginx/*.log

九、生产环境推荐组合

tail -f /var/log/nginx/access.log | grep --line-buffered " 500 "

--line-buffered 保证实时输出,不延迟。


十、如果日志不更新?

检查:

  1. Nginx 是否真的在写该日志
  2. 是否使用了 access_log off;
  3. 是否日志被 logrotate 切割

查看 nginx 配置:

nginx -T | grep access_log

如果你愿意,可以告诉我:

  • 你是 开发 / 运维 / 排查问题
  • 用的是 Linux / Docker / K8s
  • 想监控 访问量 / 错误 / 性能

我可以给你更精准的实时日志方案。

0 踩