在 Nginx 中“禁止记录日志”通常分为几种场景:完全不记录访问日志、不记录错误日志、或对某些请求(如静态资源、健康检查)不记录。下面按常见需求说明做法。
server {
listen 80;
server_name example.com;
access_log off;
location / {
root /usr/share/nginx/html;
index index.html;
}
}
✅ access_log off; 表示不记录访问日志
error_log /dev/null crit;
或完全不记录(不推荐生产):
error_log off;
⚠️ 注意:
error_log off; 在部分 Nginx 版本中可能无效error_log /dev/null;
例如:不记录静态文件、health check
location = /healthz {
access_log off;
return 200;
}
location ~* \.(jpg|png|css|js)$ {
access_log off;
}
在 http 块中:
http {
access_log off;
}
⚠️ 会影响所有虚拟主机
access_log /dev/null;
error_log /dev/null;
nginx -t
nginx -s reload
然后访问网站,确认:
tail -f /var/log/nginx/access.log
无新日志记录即成功。
✅ 不建议完全关闭日志
✅ 建议:
示例:
access_log /var/log/nginx/access.log main if=$loggable;
map $uri $loggable {
default 1;
~*\.(js|css|png|jpg) 0;
}
如果你能说明:
我可以给你更精确的配置。