帝王 发表于 2018-11-14 10:54:23

Nginx服务器Gzip压缩

  指令
  gzip
  gzip_buffers
  gzip_comp_level
  gzip_disable
  gzip_min_length
  gzip_http_version
  gzip_proxied
  gzip_types
  gzip_vary
  配置案例
  gzip on;
  gzip_min_length 1000;
  gzip+proxied expired no-cache no-store private auth;
  gzip_types text/plain application/xml;
  一、ngx_http_gzip_module
  指令
  Syntax:    gzip on | off;
  Default:    gzip off;
  Context:    http, server, location, if in location
  开启或关闭响应压缩功能

  Syntax:    gzip_buffers number>  Default:    gzip_buffers 32 4k|16 8k;
  Context:    http, server, location
  设置用于压缩响应的buffers的数量和大小,默认,buffer的大小等于内存页。可能是4k或8k取决于平台。
  Syntax:    gzip_comp_level level;
  Default:    gzip_comp_level 1;
  Context:    http, server, location
  设置响应的压缩级别,可用的值为1-9
  Syntax:    gzip_disable regex ...;
  Default:    —
  Context:    http, server, location
  This directive appeared in version 0.6.23.
  禁止压缩匹配的User-Agent头部信息。
  Syntax:    gzip_min_length length;
  Default:    gzip_min_length 20;
  Context:    http, server, location
  设置可压缩最小响应大小,长度取决于Content-length响应头部。
  Syntax:    gzip_http_version 1.0 | 1.1;
  Default:    gzip_http_version 1.1;
  Context:    http, server, location
  设置可用被压缩的最小的HTTP版本
  Syntax:    gzip_proxied off | expired | no-cache | no-store | private | no_last_modified | no_etag
  Default:    gzip_proxied off;
  Context:    http, server, location
  开启或禁止压缩代理服务器的响应,请求被代理通过”Via”头部,这个指令接受多个惨呼
  off:禁止压缩所有的代理服务器请求,忽视其它参数
  expired:如果响应头部包含”Expires”元素,并且值为禁止缓存则开始压缩。
  no-cache :如果响应头部包含”cache-control”元素并且值为no-cache参数,开始压缩。
  no-store :同上
  private :同上
  no_last_modified: 如果响应头部不包含”Last-Modified”元素开始压缩。
  no-etag: 如果响应不包含Etag元素就开启压缩
  any :压缩所有的代理请求。
  Syntax:gzip_types mime-type ...;
  Default:
  gzip_types text/html;
  Context:http, server, location
  开启除了”text/html”之外的可以压缩的类型。,*代表压缩所有类型,”text/html”会一直被压缩
  Syntax:    gzip_vary on | off;
  Default:    gzip_vary off;
  Context:    http, server, location
  开启或禁止插入Vary: Accept-Encoding,响应头部信息,如果指令gzip,gzip_static或gunzip指令被激活的话。
  二、附录:
  2.1 、ngx_http_gzip_static_module
  这个模块允许发送已经压缩过的以”.gz”结尾的文件名扩展。主要负责搜索和发送经过压缩过的数据,如果客户端请求的数据在之前被压缩过,并且客户端浏览器支持Gzip压缩,就直接返回压缩后的数据。
  这个模块默认没有编译,需要在configure的时候指定--with-http_gzip_static_module才能启用
  Syntax:    gzip_static on | off | always;
  Default:    gzip_static off;
  Context:    http, server, location
  当使用always的时候,gzip文件将会一直被使用,而不考虑客户端是否支持。如果磁盘上都是压缩的文件或者ngx_http_gunzip_module使用的时候非常有用。
  2.2、 ngx_http_gunzip_module
  用于过滤解压带有” Content-Encoding: gzip”响应的信息,但是客户端不支持gzip编码方式的时候。这个模块很有用,当它期望存储压缩的数据来节约弓箭和减少磁盘IO开销。
  模块默认没有编译,需要在配置的时候指定--with-http_gunzip_module开启。
  Syntax:    gunzip on | off;
  Default:    gunzip off;
  Context:    http, server, location

  Syntax:    gunzip_buffers number>  Default:    gunzip_buffers 32 4k|16 8k;
  Context:    http, server, location
  这两条指令,同上述gzip压缩功能。
  案例:
  http{
  ……
  gzip on;                        #开启gzip压缩功能
  gzip_min_length 1024;            #响应页述书上限
  gzip_buffer    4 16k;            #缓存空间大小
  gzip_comp_level   2;            #压缩级别为2
  gzip_types    text/plain    application/x-javascript text/css    application/xml;#压缩文件类型
  gzip_vary on;                  #启用与压缩标示
  gzip_static on;                  #开启gzip_static功能
  gunzip on;                  #开启gunzip 功能
  ……
  server {
  ……
  }
  }

页: [1]
查看完整版本: Nginx服务器Gzip压缩