在Nginx 配置文件中可以配置Gzip 的使用,相关指令可以在配置文件的http 快,server块或者location 块中设置Nginx 服务器通过ngx_http_gzip_module 模块,ngx_http_gzip_static_module 模块和ngx_http_gunzip_module 模块对这些指令进行解析和处理。
由ngx_http_gzip_module 模块处理的9个指令
ngx_http_gzip_moudle 模块主要负责Gzip功能的开启设置,对相应数据进行在线实时压缩。该模块包含以下主要指令。
1.gzip 指令
该指令用于开启或关闭Gzip 功能
gzip on | off;
默认情况下,该指令设置为off,即不开启用Gzip 功能。只有将该指令设置为on 时,下列各指令设置才有效。
2.gzip_buffers 指令
该指令用于设置Gzip 压缩文件使用缓存空间的大小
根据该配置项,Nginx 服务器在对相应输出数据进行Gzip压缩时需要向新系统申请number*size 大小的空间用于存储压缩数据。从Nginx 0.7.28 开始,默认情况下 的值为128, 其中size 的值取系统内存页一页的大小为4kb 或者8kb 即;
gzip_buffers 32 4k | 16 8k;
获取系统内存页大小的命令是
getconf PAGE_SIZE
3.gzip_comp_level 指令
该指令用于设定Gzip 压缩程度,包括级别 1到 9级别。级别1表示压缩程度最低,压缩效率最高;压缩级别9 表示压缩成都最高,压缩效率最低,最费时间,默认设置为级别1
gzip_comp_level 4;
4.gzip_diable 指令
针对不同种类客户端发起的请求,可以选择性开启和关闭Gzip 功能。该指令从Nginx0.6.23 启用,用于设置一些客户端种类。Nginx 服务器在响应这些种类的客户端请求时,不使用Gzip 功能缓存响应输出数据。设置的参数根据客户端的浏览器标志(User-Agent,UA) 进行设置,支持使用正则表达式。
gzip_disable "MSIE [1-6]\.";
该设置使用了正则表达式,其可以匹配UC 字符串中包含MSIE1,MS