Nginx Gzip模块的启用和配置指令详解如下:
1、gzip:该指令用于开启或关闭gzip功能,语法为gzip on|off;
,默认值为gzip off;
,位置可在http、server或location等。
2、gzip_types:该指令可以根据响应页的MIME类型选择性地开启Gzip压缩功能,语法为gzip_types mimetype ...;
,默认值为gzip_types text/html;
,位置可在http、server或location等,所选择的值可以从mime.types文件中进行查找,也可以使用"*"代表所有。
3、gzip_comp_level:该指令用于设置Gzip压缩程度,级别从19,1表示压缩程度最低,效率最高,9刚好相反,压缩程度最高,但是效率最低最费时间,语法为gzip_comp_level level;
,默认值为gzip_comp_level 1;
,位置可在http、server或location等。
4、gzip_vary:该指令用于设置使用Gzip进行压缩发送是否携带“Vary:AcceptEncoding”头域的响应头部,主要是告诉接收方,所发送的数据经过了Gzip压缩处理,语法为gzip_vary on|off;
,默认值为gzip_vary off;
,位置可在http、server或location等。
5、gzip_buffers:该指令用于处理请求压缩的缓冲区数量和大小,其中number指定Nginx服务器向系统申请缓存空间个数,size指的是每个缓存空间的大小,主要实现的是申请number个每个大小为size的内存空间,这个值的设定一般会和服务器的操作系统有关,所以建议此项不设置,使用默认值即可。
6、gzip_disable:针对不同种类客户端发起的请求,可以选择性地开启和关闭Gzip功能,regex根据客户端的浏览器标志(useragent)来设置,支持使用正则表达式,指定的浏览器标志不使用Gzip.该指令一般是用来排除一些明显不支持Gzip的浏览器。
7、gzip_http_version:针对不同的HTTP协议版本,可以选择性地开启和关闭Gzip功能,该指令是指定使用Gzip的HTTP最低版本,该指令一般采用默认值即可。
8、gzip_min_length:该指令针对传输数据的大小,可以选择性地开启和关闭Gzip功能,nignx计量大小的单位:bytes[字节] / kb[千字节] / M[兆]。 1024 / 10k|K / 10m|M,Gzip压缩功能对大数据的压缩效果明显,但是如果要压缩的数据比较小的话,可能出现越压缩数据量越大的情况,因此我们需要根据响应内容的大小来决定是否使用Gzip功能,响应页面的大小可以通过头信息中的ContentLength来获取,但是如何使用了Chunk编码动态压缩,该指令将被忽略,建议设置为1K或以上。
9、gzip_proxied:该指令设置是否对服务端返回的结果进行Gzip压缩,off 关闭Nginx服务器对后台服务器返回结果的Gzip压缩;expired 启用压缩,如果header头中包含 "Expires" 头信息;nocache 启用压缩,如果header头中包含 "CacheControl:nocache" 头信息;nostore 启用压缩,如果header头中包含 "CacheControl:nostore" 头信息;private 启用压缩,如果header头中包含 "CacheControl:private" 头信息;no_last_modified 启用压缩,如果header头中不包含 "LastModified" 头信息;no_etag 启用压缩 ,如果header头中不包含 "ETag" 头信息;auth 启用压缩 , 如果header头中包含 "Authorization" 头信息;any 无条件启用压缩。
这些指令都可以在nginx配置文件中使用,具体的位置取决于你希望在哪个范围内启用或禁用gzip压缩,你可以在全局范围内启用gzip压缩,或者只在特定的server或location块中启用。