温馨提示×

如何查看nginx日志

小樊
48
2026-07-18 23:45:06
栏目: 编程语言

查看 Nginx 日志一般分为两步:确认日志路径查看日志内容。下面按常见场景说明。


一、确认 Nginx 日志路径

1️⃣ 查看 Nginx 配置文件

Nginx 日志路径通常在配置文件中定义:

nginx -T | grep -E 'access_log|error_log'

或直接查看配置文件:

cat /etc/nginx/nginx.conf
# 或
cat /etc/nginx/conf.d/*.conf

常见配置示例:

access_log /var/log/nginx/access.log;
error_log  /var/log/nginx/error.log;

二、常见日志位置(默认)

系统 访问日志 错误日志
Ubuntu / Debian /var/log/nginx/access.log /var/log/nginx/error.log
CentOS / RHEL /var/log/nginx/access.log /var/log/nginx/error.log
编译安装 通常在 logs/ 目录 同上

三、查看日志内容

1️⃣ 实时查看日志(最常用)

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

2️⃣ 查看最后 N 行

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

3️⃣ 查看错误日志(排查问题)

less /var/log/nginx/error.log

4️⃣ 搜索关键字

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

四、按时间查看日志(如今天)

grep "$(date +%d/%b/%Y)" /var/log/nginx/access.log

五、查看是否被切割(logrotate)

如果日志文件很小或不存在,可能被切割:

ls -lh /var/log/nginx/

可能看到:

access.log
access.log.1
access.log.2.gz

查看历史日志:

zcat /var/log/nginx/access.log.2.gz | less

六、查看指定站点的日志

如果你有多个站点,通常配置如下:

server {
    server_name example.com;
    access_log /var/log/nginx/example.com.access.log;
    error_log  /var/log/nginx/example.com.error.log;
}

直接查看对应文件即可。


七、Nginx 日志格式说明(快速理解)

示例访问日志:

127.0.0.1 - - [10/Oct/2024:12:00:00 +0800] "GET /index.html HTTP/1.1" 200 1024

含义:

  • IP
  • 时间
  • 请求方法 & 路径
  • 状态码
  • 响应大小

八、常见问题排查

❓ 看不到日志?

  • Nginx 是否运行:systemctl status nginx
  • 配置是否 reload:nginx -s reload
  • 是否有写入权限:ls -ld /var/log/nginx

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

  • ✅ 系统版本(Ubuntu / CentOS / Docker)
  • ✅ 遇到的问题(502、404、访问不到等)

我可以帮你精准分析日志内容

0