nginx 中禁用 css, js,图片等静态资源的日志记录

更新日期: 2020-11-21 阅读次数: 44 字数: 229 分类: Nginx

对于网站的 nginx 日志,三分之二以上是 css js 及图片等静态文件的访问日志。

禁用静态文件日志的好处

  • 提升 IO 性能,避免无意义的写入磁盘操作
  • 便于实时查看 nginx 日志

禁用方法

修改全局 nginx.conf 文件

log_format compression '$remote_addr - $remote_user [$time_local] '
                '"$request" $status $body_bytes_sent '
                '"$http_referer" "$http_user_agent" "$gzip_ratio"';

map $request_uri $loggable {
    default                                             1;
    ~*\.(ico|css|js|gif|jpg|jpeg|png|svg|woff|ttf|eot)$ 0;
}

access_log /var/log/nginx/access.log compression if=$loggable;

这样即可过滤掉 css js 及图片等静态资源文件的日志。

但是,这种写法有一个问题,无法过滤带时间戳的资源文件格式,例如:

index.css?t=20201121

解决方案是将 request_uri 修改成 uri 即可。所以,最终的版本是:

log_format compression '$remote_addr - $remote_user [$time_local] '
                '"$request" $status $body_bytes_sent '
                '"$http_referer" "$http_user_agent" "$gzip_ratio"';

map $request_uri $loggable {
    default                                             1;
    ~*\.(ico|css|js|gif|jpg|jpeg|png|svg|woff|ttf|eot)$ 0;
}

access_log /var/log/nginx/access.log compression if=$loggable;

参考

https://serverfault.com/questions/875198/preventing-the-nginx-access-log-from-filling-up-with-static-requests/875352

领取阿里云/腾讯云服务器优惠券

关于作者

我是来自山东烟台的一名开发者,喜欢瞎折腾,顺便记记笔记。有敢兴趣的话题,欢迎加微信 zhongwei 聊聊, 查看更多联系方式。 白天写程序,晚上哄熊孩子,可能回复有点慢,见谅。同时也欢迎关注我的微信公众号“大象工具”: 大象工具微信公众号

相关文章

爱评论不评论

近期节日

2020年12月01日 世界艾滋病日
2020年12月03日 国际残疾人日
2020年12月07日 大雪
2020年12月09日 "一二九"运动纪念日
2020年12月09日 世界足球日
2020年12月10日 世界人权日
2020年12月12日 西安事变纪念日
2020年12月13日 南京大屠杀
2020年12月20日 澳门回归日
2020年12月21日 国际篮球日
2020年12月21日 冬至
2020年12月24日 平安夜
查看更多节日