温馨提示×

debian nginx如何日志

小樊
52
2026-09-06 15:56:01
栏目: 智能运维

在 Debian 上使用 Nginx 时,日志主要分为两类:

  • 访问日志(access log):记录每一个请求
  • 错误日志(error log):记录错误和警告信息

下面按常见场景说明。


一、Nginx 日志默认位置(Debian)

Debian 下 Nginx 默认日志目录:

/var/log/nginx/

常见文件:

/var/log/nginx/access.log   # 访问日志
/var/log/nginx/error.log    # 错误日志

虚拟主机(server block)若单独配置,也可能有:

/var/log/nginx/example.com.access.log
/var/log/nginx/example.com.error.log

二、查看日志

1. 实时查看访问日志

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

2. 实时查看错误日志

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

3. 查看最近 100 行

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

三、Nginx 日志配置方式

1. 全局配置(nginx.conf)

user www-data;
error_log /var/log/nginx/error.log warn;
access_log /var/log/nginx/access.log;

2. 虚拟主机配置(推荐)

server {
    listen 80;
    server_name example.com;

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

    location / {
        root /var/www/html;
        index index.html;
    }
}

修改后测试并重载:

nginx -t
systemctl reload nginx

四、日志级别(error_log)

error_log /var/log/nginx/error.log [level];

级别从低到高:

debug < info < notice < warn < error < crit < alert < emerg

示例:

error_log /var/log/nginx/error.log warn;

生产环境一般用 warn 或 error


五、访问日志格式

默认格式:

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                '$status $body_bytes_sent "$http_referer" '
                '"$http_user_agent"';

使用:

access_log /var/log/nginx/access.log main;

六、日志切割(非常重要)

Debian 默认使用 logrotate

配置文件:

/etc/logrotate.d/nginx

示例(系统默认已存在):

/var/log/nginx/*.log {
    daily
    missingok
    rotate 14
    compress
    delaycompress
    notifempty
    create 0640 www-data adm
    sharedscripts
    postrotate
        [ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
    endscript
}

手动测试:

logrotate -d /etc/logrotate.d/nginx

七、常见排错

1. 日志不更新

ls -l /var/log/nginx/
nginx -t
systemctl status nginx

2. 权限问题

chown -R www-data:adm /var/log/nginx

3. 关闭访问日志(不推荐)

access_log off;

如果你有具体需求,比如:

  • ✅ 只记录 404
  • ✅ 按日期拆分日志
  • ✅ 记录真实 IP(反代场景)
  • ✅ JSON 日志(ELK)

可以直接告诉我,我给你对应配置。

0 踩