nginx:access日志的详细用法

本文详细介绍了Nginx的ngx_http_log_module模块,包括log_format和access_log指令的使用,以及open_log_file_cache指令如何优化日志文件的缓存机制。探讨了日志格式定义、访问日志配置及日志缓存参数设置。

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:关闭缓存功能;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值