1Gzip各模块支持的配置指令
1.1ngx_http_gzip_module模块
该模块支持对响应的数据进行在线实时压缩
指令 | 格式 | 说明 |
---|---|---|
gzip | gzip on | off | 控制gzip功能的开启关闭, 默认不开启 |
gzip_buffers | gzip_buffers numbe r size
|
申请number 个大小为size 的空间 |
gzip_comp_level | gzip_comp_level level
|
设置压缩等级,1-9,1表示压缩程度最低,压缩率最高。9表示相反,最费时间 |
gzip_disable | gzip_disable regex ... | 设置不使用Gzip功能缓存的请求,regex根据User-Agent设置。 |
gzip_http_version | gzip_http_version 1.0|1.1 | 对1.0,1.1的请求开启压缩功能。 |
gzip_min_length | gzip_min_length length
|
大于length 的响应才压缩,响应页面大小通过http响应头部的content-length获取,但是如果使用了chunk编码动态压缩,此指令无效 ,默认是20,可以设置为1024,防止越压缩越大。 |
gzip_proxied | gzip_proxied off |expired|no-cache...; | 在nginx服务器反向代理功能的时候,设置nginx是否对后端服务器返回的结果进行gzip压缩。off表示关闭,其他的字段表示在后端服务器返回字段有cache-controller头域,包含对应指令的时候进行压缩。具体查看文档。 |
gzip_types | gzip_types mine-types | 根据mime-type类型进行压缩,可以取值text/plain text/css text/html 或者* |
gzip_var | gzip_var on |off | 是否返回“Var:Accept-Encoding”头部信息,告诉接收方数据经过了处理。 |
1.2 ngx_http_gzip_static_module模块处理指令
负责搜索和发送经过Gzip功能压缩的数据,数据已.gz结尾的文件存在服务器上,如果客户端请求的数据之前被压缩过,并且客户端浏览器支持解压缩,直接返回压缩的数据,该模块用于服务器可以确定数据长度的情况。ngx_http_gzip_module主要适用于服务器无法确定响应数据长度的情况,比如大文件下载,需要实时生成数据长度。
指令 | 格式 | 说明 |
---|---|---|
gzip_static on |off | always | 开启,关闭,不论是否客户端支持 | |
gzip_proxied | gzip expired no-store; | 同上 |
3.ngx_http_gunzip_module模块
针对不支持Gzip解压缩的客户端,将来自nginx服务器或者后端服务器产生的压缩数据解压后,返回给客户端。该模块是可选模块,使用需要单独配置。
指令 | 格式 | 说明 |
---|---|---|
gunzip_static | gunzip_static on |off | 开启或者关闭 |
gunzip_buffers | number size | 申请缓冲区大小 |
2 线上配置
线上用的 ngx_http_gzip_module模块配置。
gzip on; 开器gzip压缩
gzip_min_length 1k; #大于1k的
gzip_buffers 4 16k; 4个16k的压缩缓存区
gzip_http_version 1.1; http1.1版本压缩
gzip_comp_level 5; 压缩级别中等
gzip_vary on; 给客户端返回请求头信息,告诉压缩了
gzip_disable "MSIE [1-6]\."; IE浏览器1-6不压缩。
网友评论