要开启 Nginx 访问日志(access log),核心就是确认 access_log 指令已启用并配置正确。下面按常见场景说明。
在 Nginx 默认配置中,访问日志通常是开启的,例如:
http {
access_log /var/log/nginx/access.log;
}
或:
http {
access_log /var/log/nginx/access.log combined;
}
✅ 如果你能看到 /var/log/nginx/access.log 文件并不断增长,说明访问日志已经开启。
server 或 location 中开启http {
access_log /var/log/nginx/access.log;
}
server {
listen 80;
server_name example.com;
access_log /var/log/nginx/example.access.log;
}
location /api/ {
access_log /var/log/nginx/api.access.log;
}
http {
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;
}
combinedNginx 默认支持:
access_log /var/log/nginx/access.log combined;
access_log off;
⚠️ 不建议全局关闭,除非你非常清楚后果。
nginx -t
nginx -s reload
# 或
systemctl reload nginx
访问你的站点后执行:
tail -f /var/log/nginx/access.log
看到类似内容说明成功:
127.0.0.1 - - [12/Jan/2026:10:01:12 +0800] "GET / HTTP/1.1" 200 1024
ls -ld /var/log/nginx
chown -R nginx:nginx /var/log/nginx
tail -f /var/log/nginx/error.log
access_log off; 覆盖如果你愿意,可以把你的 Nginx 配置文件片段发出来,我可以帮你直接检查和优化。