最有效关闭静态资源日志的方式是在匹配 location 块中直接设置 access_log off;,如 location ~*.(js|css|png|jpg|jpeg|gif|ico|svg|woff2?|ttf|eot|webp|pdf)$ { access_log off; expires 1y; add_header cache-control "public, immutable"; }。

直接在匹配静态资源的 location 块中设置 access_log off;,是最有效、最彻底的方式。它从源头跳过日志格式化和写入流程,不占磁盘 I/O、不耗 CPU,比重定向到 /dev/null 或用 if 判断更轻量。
匹配常见静态后缀并关闭日志
这是最常用且稳定的配置方式,覆盖 JS、CSS、图片、字体等高频资源:
- 在
server块内添加如下location,注意要放在location /或proxy_pass规则之前,避免被兜底规则继承日志 - 使用
~*实现大小写不敏感正则匹配,后缀列表可根据项目实际增删(如加webp、mp4) - 同时可顺带配置缓存头,提升前端性能
示例配置:
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff2?|ttf|eot|webp|pdf)$ {
access_log off;
expires 1y;
add_header Cache-Control "public, immutable";
}
统一静态目录路径下全部关闭日志
若静态资源集中部署在特定路径(如 /static/、/assets/、/dist/),推荐用前缀匹配,性能略优于正则:
DMap GL地图JSAPI(dmapgl)开发指南。用于编写、审查、调试 DMap 地图 API 代码,涵盖地图初始化、覆盖物渲染、图层管理、事件处理、控件交互等任务。当用户提及 dmap、dmapgl、jsapi‑gl 或相关地图开发需求时自动触发。
- 使用
^~前缀匹配,确保优先级高且不触发正则引擎 - 配合
alias或root正确映射文件系统路径 - 同样需注意书写位置,防止被更宽泛的
location /覆盖
示例配置:
location ^~ /static/ {
alias /var/www/myapp/static/;
access_log off;
expires 1y;
}
排除干扰型低价值请求
有些请求虽无后缀,但高频且无分析价值,也应显式关闭日志:
-
location = /favicon.ico和location = /robots.txt:用精确匹配=,性能最好 - 健康检查路径如
/healthz、/metrics:避免监控流量刷屏主日志 - 统一加上
log_not_found off;,防止 404 静态请求反复写入 error_log
示例配置:
location = /favicon.ico {
log_not_found off;
access_log off;
return 204;
}
<p>location = /healthz {
access_log off;
return 200 "OK";
}</p>
验证是否真正生效
改完配置不能只靠 reload 就认为完成,必须实测确认:
- 执行
nginx -t检查语法,再nginx -s reload生效 - 用
curl -I https://your.site/app.js发起静态请求 - 实时观察主日志:
tail -f /var/log/nginx/access.log应无新增行 - 检查 worker 进程是否还持有日志句柄:
lsof -p $(pidof nginx) | grep access,正常应无输出










