开启网站的 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 压缩配置成功
登录后可发表评论