ngx_http_log_module模块(无法禁用)
生效阶段:log阶段
功能:将HTTP请求相关信息记录到日志。
1.log_format指令
语法:log_format name [escape=default | json | none] string;
默认:log_format combined "...";
放置位置:http
默认的combined日志格式:
log_format combined '$remote_addr-$remote_user[$time_local]' '"$request" $status $bady_bytes_sent' '"$http_referer" "$http_user_agent"';
2.access_log指令
语法:
(1)access_log path [format]
(2)access_log off;
默认:access_log logs/access.log combined;
放置位置:http,server,location,if in location, limit_except
①path路径可以包含变量:不打开cache时每记录一条日志都需要打开,关闭日志文件
②if通过变量值控制请求日志是否记录
③日志缓存:
功能:批量将内存中的日志写入磁盘
写入磁盘的条件
1.所有待写入磁盘的日志大小超出缓存大小
2.达到flush指定的过期时间
3.worker进程执行reopen命令,或者正在关闭
④日志压缩
功能:批量压缩内存中的日志,再写入磁盘
buffer大小默认为64kb
压缩级别默认为1(1最快压缩率最低,9最慢压缩率最高)
3.open_log_file_cache指令
语法:(1)open_log_file_cache max=N [inactive=time] [min_uses=N] [valic=time];
(2)open_log_file_cache off;
默认:open_log_file_cache off;
放置位置:http,server,location
max:缓存嘞的最大文件句柄数,超出后用LRU算法淘汰
inactive:文件访问完后在这段时间内不会被关闭。默认10秒
min_uses:在inactive时间内使用次数超过min_uses才会继续存在内存中。默认 1
valid:超出valid时间后,将对缓存的日志文件检查是否存在。默认60秒
off:关闭缓存功能;
本文详细介绍了Nginx的ngx_http_log_module模块,包括log_format和access_log指令的使用,以及open_log_file_cache指令如何优化日志文件的缓存机制。探讨了日志格式定义、访问日志配置及日志缓存参数设置。
6701

被折叠的 条评论
为什么被折叠?



