Rootop 服务器运维与web架构

nginx不记录js、css、图片等资源文件的访问日志

在做日志分析的时候,日志里很多js、css包括图片等资源文件的访问记录,这些对分析日志没什么太大作用。
在分析脚本上过滤的话还消耗太多时间,所以直接在nginx日志中不记录这些文件的请求记录。

Syntax:	access_log path [format [buffer=size] [gzip[=level]] [flush=time] [if=condition]];
access_log off;
Default:	
access_log logs/access.log combined;
Context:	http, server, location, if in location, limit_except

之前access_log指令一般都配置在server{}段的最后,没尝试过别的位置。
在官方帮助手册里查到可以在location中起作用,那么就用location做这些请求的日志拦截。

location ~ .*\.(js|css)?$
{
	access_log off;
	expires 12h;
	# 注意如果是反向代理,要把请求传递给后端处理,否则就在本地目录找了。
	# proxy_pass http://127.0.0.1:8080;
}

location ~* \.(jpg|gif|png|swf|flv|wma|wmv|asf|mp3|mmf|zip|rar)$
{
	access_log off;
	expires 30d;
}

这样日志看起来就很干净,分析速度也提高不少。

原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/4727.html

作者:Venus

服务器运维与性能优化

评论已关闭。