温馨提示×

Nginx在Ubuntu上的日志在哪查看

小樊
31
2025-12-26 20:38:06
栏目: 智能运维

Nginx 在 Ubuntu 的日志位置与查看方法

默认日志路径

  • 访问日志:/var/log/nginx/access.log
  • 错误日志:/var/log/nginx/error.log
  • 查看目录:执行 ls -lh /var/log/nginx/ 可见上述文件(若目录不存在,说明 Nginx 可能未安装或未写入日志)。

快速查看命令

  • 实时查看错误日志(排错首选):sudo tail -f /var/log/nginx/error.log
  • 实时查看访问日志:sudo tail -f /var/log/nginx/access.log
  • 查看最近 N 行(如 50 行):sudo tail -n 50 /var/log/nginx/error.log
  • 分页查看:sudo less /var/log/nginx/access.log
  • 过滤关键字(如 404):grep " 404 " /var/log/nginx/access.log
  • 统计 404 次数:grep "404" /var/log/nginx/access.log | wc -l
  • 说明:部分系统或目录权限需要 sudo 才能读取。

如果日志不在默认路径

  • 确认配置文件位置:sudo nginx -t(输出会显示主配置如 /etc/nginx/nginx.conf 的路径)
  • 在配置中搜索日志指令:grep -n "access_log\|error_log" /etc/nginx/nginx.conf /etc/nginx/sites-enabled/*
  • 在线定位正在写入的日志文件:lsof -p $(pidof nginx | head -n 1) | grep log
  • 注意:某些站点可能在 server 块中自定义了日志文件路径(如 access_log /var/log/nginx/example.com.access.log;)。

Docker 部署的查看方式

  • 容器将日志输出到标准输出时,可直接在宿主机查看:
    • 实时查看:docker logs -f <容器名>
    • 查看最后 100 行:docker logs --tail 100 <容器名>

补充 系统服务日志与日志轮转

  • 使用 systemd 查看 Nginx 服务日志:sudo journalctl -u nginx -f(实时)、-n 100(最近 100 条)
  • Ubuntu 默认通过 logrotate 轮转 Nginx 日志,规则在 /etc/logrotate.d/nginx,可 cat /etc/logrotate.d/nginx 查看轮转周期与保留份数。

0