开启 Nginx 日志通常包括 访问日志(access log) 和 错误日志(error log),配置方式如下:
Nginx 默认是开启日志的,但如果你发现没有日志,可能是被关闭或路径配置不正确。
nginx.conf 或站点配置中设置http {
# 定义日志格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
# 开启访问日志
access_log /var/log/nginx/access.log main;
}
✅ 说明:
main:日志格式名/var/log/nginx/access.log:日志路径server {
listen 80;
server_name example.com;
access_log /var/log/nginx/example_access.log main;
}
error_log /var/log/nginx/error.log warn;
| 级别 | 说明 |
|---|---|
| debug | 调试信息(生产环境不建议) |
| info | 一般信息 |
| notice | 注意 |
| warn | 警告 |
| error | 错误 |
| crit | 严重 |
| alert | 告警 |
| emerg | 紧急 |
✅ 推荐生产环境:
error_log /var/log/nginx/error.log warn;
access_log off;
error_log /dev/null;
⚠️ 不建议在生产环境关闭,不利于排查问题。
nginx -t
nginx -s reload
# 或
systemctl reload nginx
# 访问日志
tail -f /var/log/nginx/access.log
# 错误日志
tail -f /var/log/nginx/error.log
/var/log/nginxaccess_log off; 关闭access_log /dev/stdout;
error_log /dev/stderr;
如果你愿意,可以把你的 nginx.conf 或站点配置贴出来,我可以帮你直接检查为什么日志没生效。