Nginx的 gzip 压缩


开启网站的 gzip 压缩功能,通常可以高达70%,也就是说,如果你的网页有30K,压缩之后就变成9K, 对于大部分网站,显然可以明显提高浏览速度

编辑 nginx 的配置文件

vim /usr/local/nginx/conf/nginx.conf

在 http{} 中加入如下设置:

gzip on;
gzip_min_length  1k;
gzip_buffers     4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css;
gzip_vary on;
gzip_proxied   expired no-cache no-store private auth;
gzip_disable   "MSIE [1-6]\.";

上面添加完成后,通过 CURL或是浏览的Network检查不成功时,就把看到的“Content-Type: image/jpeg” 加在gzip_types进去就可以了。


注意,修改后需要重新启动nginx服务才会生效..


参数说明:

第1行:开启Gzip,该指令用于开启或关闭gzip模块(on/off) 

第2行:不压缩临界值,大于1K的才压缩,默认值是0,不管页面多大都压缩。建议设置成大于1k的字节数,小于1k可能会越压越大。 

第3行:设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。4 16k代表以16k为单位,安装原始数据大小以16k为单位的4倍申请内存。如果没有设置,默认值是申请跟原始数据相同大小的内存空间去存储gzip压缩结果。 

第4行:HTTP的协议版本,用了反向代理的话,末端通信是HTTP/1.0,默认是HTTP/1.1

第5行:压缩级别,1-10,1压缩比最小处理速度最快,9压缩比最大但处理速度最慢

第6行:进行压缩的文件类型,匹配mime类型进行压缩,无论是否指定,”text/html”类型总是会被压缩的。

第7行:和HTTP头有关系,增加"Vary: Accept-Encoding",给代理服务器用的,有的浏览器支持压缩,有的不支持,所以避免浪费不支持的也压缩,所以根据客户端的HTTP头来判断,是否需要压缩

第8行:Nginx作为反向代理的时候启用,开启或者关闭后端服务器返回的结果,匹配的前提是后端服务器必须要返回包含"Via"的 header头。  

第9行:IE6对Gzip不怎么友好,不给它Gzip了


检查页面压缩是否生效:

在浏览器中打开网站

按下 F12 

再Network中点击你定义在gzip_types中的文件类型

在Headers中找到Response Headers下是否有下面这一行

content-encoding:gzip

如果存在,恭喜你Nginx的 gzip 压缩配置成功

上一篇 下一篇

评论

登录后可发表评论