CentOS 上选择 Nginx 日志级别的最佳实践
一 日志类型与级别总览
二 选择日志级别的原则
三 不同场景的推荐配置
四 在 CentOS 上的落地步骤与示例
error_log /var/log/nginx/error.log warn;
access_log /var/log/nginx/access.log combined buffer=64k flush=1m;
open_log_file_cache max=1000 inactive=20s valid=1m min_uses=2;
map $status $loggable {
~^[23] 0;
default 1;
}
access_log /var/log/nginx/access.log combined if=$loggable;
server {
listen 80;
server_name example.com;
error_log /var/log/nginx/example_error.log debug; # 临时排障用
location /api/health {
access_log off; # 健康检查高频成功,可不记录
}
}
sudo nginx -t
sudo systemctl reload nginx
tail -f /var/log/nginx/error.log
tail -f /var/log/nginx/access.log
说明:error_log 可在 main/http/server/location 多层级配置,子层级会覆盖上层;同一层级可用多个 error_log 写入多个目标(自 1.5.2 起支持)。五 进阶与注意事项