小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
序言
我们在上一篇文章中讲了提升页面访问速度的几种常用方法,里面讲了通过在nginx开启gzip压缩,效果也是很明显的
原本是192kb的文件,开启gzip压缩后转成了74.1kb,压缩效果很明显。
正文
那么,gzip具体是在怎么配置的呢? 然后这些参数具体是什么含义呢?
好的,接着往下读。
在nginx.conf文件的http对象里配置gzip的参数
我的gzip的配置如下:
nginx.conf文件
http {
...
#gzip
gzip on;
gzip_min_length 10k;
gzip_comp_level 2;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";
...
}
nginx.conf采用#来写注释
配置参数解读:
-
gzip是否开启gzip压缩,
on为开启,off为关闭。 -
gzip_min_length使用gzip压缩的最小文件大小,k为单位。 我这里写的是
10k,则大于10kb的文件才会进行gzip压缩。 -
gzip_comp_levelgzip的压缩级别,范围是
1-9。压缩级别越大,文件的压缩比越大。压缩级别越低,文件压缩比越小。那压缩级别是不是越大越好?
不是的。因为gzip的压缩是通过服务器来压缩的,压缩级别越大,会更消耗服务器的性能。如果访问的人一多,则可能服务器的cpu会吃不消。而且压缩级别到了某个级别后,再往大设置,压缩效果其实并不明显。
这里我这里的是
2. -
gzip_typesgzip进行压缩的文件类型。 我这里写的文件类型是
text,js,css,xml等如果文件类型不属于这些,则不会进行gzip压缩。
-
gzip_vary是否增加响应头
Vary: Accept-Encoding,on为开启,off为关闭。一般都会开启。 -
gzip_disable禁止哪些浏览器开启gzip压缩。使用正则来匹配浏览器的
User Agent。 我这里写的是"MSIE [1-6]\."代表的是ie6以及ie6以下都不会开启gzip压缩,因为它们不支持gzip压缩。
大家有问题可以评论留言。