• 由ngx_http_gzip_module 模块处理的9 个指令 该模块主要负责 Gzip 功能的开启和设置,对响应数据实时压缩
  • gzip 指令
  • 该指令用于开启或者关闭 Gzip 功能 gzip on | off;
  • gzip_buffers 指令
  • 该指令用与设置 Gzip压缩文件使用缓存空间的大小 gzip_buffers number size;
  • number 指定 Nginx 服务器需要向系统申请缓存空间的个数。
  • size 指定每个缓存空间的大小
  • 默认情况下 number*size 大小为 128 ,其中 size 的大小为系统内存一页的大小 4kb
  • gzip_comp_level 指令
  • 该指令用于设定 Gzip 的压缩程度,包括级别 1 到 9,1表示压缩程度最低,压缩效率最高
  • gzip_comp_level leve1(默认值为1)
  • gzip_disable 指令
  • 针对不同类型的客户端发起的请求,可以选择性的开启或者关闭 Gzip 的功能。 gzip_disable regex ...
  • regex 的标识根据客户端浏览器的标志进行设置,支持正则表达式gzip_disable MSIE [4-6]\.
  • gzip_http_version 指令
  • 针对不同的 http 协议版本 选择性的开启或关闭 Gzip 的功能,该指令用于设置开启 Gzip 功能的最低 HTTP 版本
  • gzip_http_version 1.1(默认)
  • gzip_min_length 指令
  • 根据响应页面的大小,选择性的开启或者关闭 Gzip 功能
  • gzip_min_length length;(默认值为20,建议设置为1Kb,即1024)
  • gzip_proxied 指令
  • 该指令在使用 Nginx 反向代理功能时有效。主要用于设置 Nginx 服务器是否对后端服务器返回的结果进行 Gzip 压缩,该指令的语法结构为: gzip_proxied off|expired|no-cache | no_store | private | no_last_modified | no_etag | auth |any ...
  • 参数

nginx gzip压缩js文件 nginx gzip压缩级别_数据


  • gzip_types 指令
  • 根据响应页的 MIME 类型选择性的开启 Gzip 压缩功能,该指令用来设置 MIME 类型,被设置的类型将被压缩。 gzip_types mime-type ...; (默认值为 text/html)
  • 该指令设置为 on 时, Nginx 会对所有的 text/html 类型页面进行压缩,设置为 * 时,表示对所有的 MIME 类型的页面进行 GZIP 压缩
  • gzip-vary
  • 该指令用于设置在使用 Gzip 功能时是否发送带有 "Vary: Accept-Encoding"头域的响应头部,该头域的功能时告诉接收方发送的数据进行了压缩处理,开启后在响应头部添加"Accept-Encoding:gzip" gzip_vary on | off 默认关闭
  • 由 ngx_http_gzip_stactic_module 模块处理的命令
  • 此模块主要负责搜索和发送经过 Gzip 功能预压缩的数据
  • 数据以 ".gz" 作为后缀储存在服务器上
  • 如果客户端请求的数据在之前压缩过,并且浏览器支持 Gzip 压缩,就直接返回压缩后的数据
  • 区别
  • ngx_http_gzip_stactic_module 使用静态压缩,在响应报头中指明长度。用于服务器可确定数据长度的情况。
  • ngx_http_gzip_module 使用动态压缩,适用于服务器无法确定响应数据长度的情况(如大文件下载)
  • 指令
  • gzip-static on|off|always;
  • on 开启
  • off 关闭
  • always 一直发送Gzip预压缩文件,而不检查客户端浏览器是否支持 Gzip 压缩
  • 其他指令与 ngx_http_gunzip_module 相同
  • 注:gzip_proxied 只接收以下指令 gzip_proxied expired no-cache no-store private auth;
  • 该模块下的 gzip_vary 指令未压缩的内容添加 "Vary:Accept-Encoding"头域,而不是给所有内容都添加,如果需要给所有的响应头部添加该头域,可以通过 Nginx 配置的 add_header 指令实现
  • 该模块是可选模块,如需使用,必须在 Ningx 程序配置时添加 --with-http_gzip_static_module 指令
  • 由 ngx_http_gunzip_module 模块处理的 2 个指令
  • 简介
  • 对于没有能力解压及无法处理 Gzip 压缩数据的客户端,需要在 Nginx 服务器向其发送之前先将该数据解压,ngx_http_gunzip_module 模块用来对不支持 gzip 压缩数据处理的客户端浏览器,对压缩数据进行解压处理。
  • 当客户端不支持 gzip 时,使用该模块可解决数据解析问题,同时保证 Nginx 服务器 与后端服务器交互数据或者本身存储数据时任然使用压缩,减少服务器之间数据传输量,降低本地存储空间缓存使用率
  • 主要命令有以下几个:gunzip gunzip_buffers gzip_http_version、gzip_proxied gzip_disable gzip_vary 等
  • 指令
  • gunzip_static on|off
  • on 开启该功能
  • off 关闭该功能
  • 该指令默认关闭该功能,当功能开启时,如果客户端浏览器不支持 Gzip 处理,Nginx 将返回解压后的数据。如果支持,忽略该指令
  • gunzip_buffers number size;
  • number 指定 Nginx 服务器在对 Gzip 数据进行减压时需要向系统申请 number*size 大小的空间,默认情况下 number*size 的值为128。其中 size 的值也取系统内存页一页的大小 为 4KB 或者 8KB gunzip_buffers 32 4K|16 8K
  • 其他指令与 ngx_http_gzip_module 模块使用相同
  • 注意 该模块为可选模块,如果要使用,必须在 Nginx 程序配置时添加 --with-http_gunzip_module 指令
  • 压缩模块的使用
  • 为了使 Nginx 服务器能够在全局范围内应用 Gzip 压缩功能,可将其放入 http 块中。
  • 要使各个虚拟主机差别性对待,可以将对应的 server 块中添加各自的 Gzip 指令
  • 对于少数的逆序主机差别性对待,也可以在 http 全局块中配置 Gzip 指令后在少数的 server 块中添加配置
  • 压缩模块使用注意事项
  • gzip 压缩功能与 IE6 浏览器运行脚本的兼容性问题
  • Nginx 服务器与其他服务器交互时产生的 gzip 压缩功能相关问题
  • 大多数 服务器产品都有 gzip 压缩的功能,对于包含了多层级服务器的系统,Nginx 如果作为前端服务器如果开启了 gzip 压缩功能,后端服务器最好不要再开启。