nginx中文文档-ngx_http_slice_module

此页面版本:2016-06-08
ngx_http_slice_module模块(1.9.8+)是一个过滤器,用于将请求分成子请求,每个会返回一部分响应。过滤器更有效的缓存大响应。

该模块默认不会构建,需要通过–with-http_slice_module配置参数启用。

示例配置

location / {
    slice             1m;
    proxy_cache       cache;
    proxy_cache_key   $uri$is_args$args$slice_range;
    proxy_set_header  Range $slice_range;
    proxy_cache_valid 200 206 1h;
    proxy_pass        http://localhost:8000;
}

这个例子中,响应被分割成了1M的可缓存的分片。

slice

语法:slice size
默认:slice 0
上下文:http, server, location

设置分片的大小。零值禁用响应分片。注意过低的值会导致过多的内存消耗以及大量的文件描述符。
为了让子请求返回需要的范围,$slice_range变量需要传给被代理服务器作为Range请求头。如果启用缓存,$slice_range应添加到缓存的关键字中,并启用返回响应206状态码。

内嵌变量


$slice_range
当前分片的范围,例如bytes=0-1048575.

nginx中文文档-ngx_http_session_log_module

此页面版本:2016-06-08
ngx_http_session_log_module模块启用记录会话。

该模块为商业版。
示例配置
下面的配置根据请求客户端地址和“User-Agent”请求头,建立了一个会话日志和会话请求映射。

session_log_zone /path/to/log format=combined
                 zone=one:1m timeout=30s
                 md5=$binary_remote_addr$http_user_agent;

location /media/ {
    session_log one;
}

session_log_format

语法:session_log_format name string
默认:session_log_format combined “…”
上下文:http

指定日志的输出格式。$body_bytes_send变量的值是聚合一个session的所有请求的值。其他的变量在会话第一个请求中可用。

session_log_zone

语法:session_log_zone path zone=name:size [format=format] [timeout=time] [id=id] [md5=md5]
默认:—
上下文:http

设置日志路径,并配置用于存储当期活动的会话的共享内存区域。
一个会话被认为是活跃的,只要上一次请求到现在没有超过指定的超时时间(默认是30秒)。当会话不再活动,会被写入到日志。
id参数标示了哪个请求映射到哪个会话。id参数是16进制的MD5哈希值(例如,从cookie中的变量获取)。如果参数没有指定,或不是一个正确的md5值,nginx会从md5参数中计算MD5哈希值,并用这个哈希创建一个新的会话。id和md5参数都可以包含变量。
format参数设置了session_log_format指令设置的日志格式的定制会话。如果format没有指定,预定义“combined”格式会使用。

session_log

语法:session_log name | off
默认:session_log off
上下文:http, server, location

启用指定的会话日志。特殊值off取消继承自上级配置中session_log指令。

内嵌变量

ngx_http_session_log_module模块支持两个内嵌变量:


$session_log_id
当前会话ID


$session_log_binary_id
当前会话ID的二进制形式(16字节)