linux nginx gzip 配置详解
先看示例
gzip on; gzip_buffers 4 16k; gzip_comp_level 2; gzip_min_length 1000; gzip_http_version 1.1; gzip_proxied expired no-cache no-store private auth; gzip_types text/plain application/xml; gzip_disable "MSIE [1-6]\."; gzip_vary off;
打开nginx.conf找到gzip修改就可以了。
1、gzip
开启或者关闭gzip模块。
默认值: gzip off
2、gzip_buffers
设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。 例如 4 4k 代表以4k为单位,按照原始数据大小以4k为单位的4倍申请内存。 4 8k 代表以8k为单位,按照原始数据大小以8k为单位的4倍申请内存。
默认值: gzip_buffers 4 4k/8k
3、gzip_comp_level
gzip压缩比,1 压缩比最小处理速度最快,9 压缩比最大但处理最慢(传输快但比较消耗cpu)。
默认值: gzip_comp_level 1
4、gzip_min_length
设置允许压缩的页面最小字节数,页面字节数从header头中的Content-Length中进行获取。建议设置成大于1k的字节数,小于1k可能会越压越大。 即: gzip_min_length 1024。
默认值是gzip_min_length 0,不管页面多大都压缩。
5、gzip_http_version
识别http的协议版本。由于早期的一些浏览器或者http客户端,可能不支持gzip自解压,用户就会看到乱码,所以做一些判断还是有必要的。 注:21世纪都来了,现在除了类似于百度的蜘蛛之类的东西不支持自解压,99.99%的浏览器基本上都支持gzip解压了,所以可以不用设这个值,保持系统默认即可。
默认值 gzip_http_version 1.1
6、gzip_proxied
Nginx作为反向代理的时候启用,开启或者关闭后端服务器返回的结果,匹配的前提是后端服务器必须要返回包含”Via”的 header头。
off – 关闭所有的代理结果数据的压缩
expired – 启用压缩,如果header头中包含 “Expires” 头信息
no-cache – 启用压缩,如果header头中包含 “Cache-Control:no-cache” 头信息
no-store – 启用压缩,如果header头中包含 “Cache-Control:no-store” 头信息
private – 启用压缩,如果header头中包含 “Cache-Control:private” 头信息
no_last_modified – 启用压缩,如果header头中不包含 “Last-Modified” 头信息
no_etag – 启用压缩 ,如果header头中不包含 “ETag” 头信息
auth – 启用压缩 , 如果header头中包含 “Authorization” 头信息
any – 无条件启用压缩
默认值: gzip_proxied off
7、gzip_types
匹配MIME类型进行压缩,(无论是否指定)”text/html”类型总是会被压缩的。
默认值: gzip_types text/html
8、gzip_disable
使用正则表达式来指定某些不需要gzip压缩的浏览器(将和User-Agents进行匹配)。依赖于PCRE库。在0.6.23版本中首次使用。
0.7.63版本以后,你可以为IE5.5和IE6 SP1使用msie6参数来禁止gzip压缩。
9、gzip_vary
启用应答头“Vary: Accept-Encoding”,注意,由于一个bug将导致IE 4-6无法缓存内容。
默认值:gzip_vary off
其他
内置变量 $gzip_ratio 可以获取到gzip的压缩比率。
暂无评论