美文网首页
Nginx服务器的gzip压缩

Nginx服务器的gzip压缩

作者: 鸿雁长飞光不度 | 来源:发表于2019-06-20 23:44 被阅读0次

    1Gzip各模块支持的配置指令

    1.1ngx_http_gzip_module模块

    该模块支持对响应的数据进行在线实时压缩

    指令 格式 说明
    gzip gzip on | off 控制gzip功能的开启关闭, 默认不开启
    gzip_buffers gzip_buffers number 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不压缩。
    

    相关文章

      网友评论

          本文标题:Nginx服务器的gzip压缩

          本文链接:https://www.haomeiwen.com/subject/lebsqctx.html