详解Nginx的Gzip压缩
作者:温新
时间:2021-02-28
为什么要使用Gzip
众所周知,Web中存在含有大量的非常消耗资源的文件,如zip、图片等。如有一个4M的图片,从用户发出请求到浏览器所呈现出来,这个过程中,图片被渲染出来的速度可能很慢,而gzip就是对这些消耗资源的文件进行压缩呈现,减轻服务的负担。
gzip有如下几个作用:
1)压缩资源;
2)提高传输效率;
3)减轻服务器负担;
4)利于用户体验。
开启gzip
gzip位于http区块中,如下案例
http {
# 开启gzip
gzip on;
# 响应页数据上限
gzip_min_length 1024;
# 缓存空间大小
gzip_buffers 416k;
# 压缩级别
gzip_comp_level 2;
# 压缩文件类型
gzip_types text/plain application/x-javascript text/css image/png image/jpeg;
# 启用压缩标识
gzip_vary on;
# 检查压缩文件类型
gunzip_static on;
server {}
}
gzip参数详解
gzip指令
功能:是否开启giz压缩。默认为off
不开启。
语法:gzip on | off
gzip_buffers指令
功能:设置压缩文件所使用缓存空间的大小。
语法:gzip_buffers number szie
参数:number,指定Nginx服务器需要向系统申请缓存空间的个数;
size,指定每个缓存空间的大小。
案例
# 申请32个存储空间,第个大小4k
gzip_buffers 32 4k;
gzip_comp_level
功能:设置压缩程度,包含1-9级。级别1表示压缩程序最低,压缩效率最高;9表示压缩程度最高,压缩效率最低,最费时间。默认级别1
语法:gzip_comp_level level
压缩级别并不是越高越好,需要根据自己的情况来设定压缩级别。
gzip_disable
功能:针对不同种类客户端发起的请求,可以选择性地开启和关闭Gzip功能。
语法:gzip_disabled regex
参数:regex是根据客户端的浏览器标志进行设置。
案例:gzip_disabled MSIE [4-6]\.
匹配UC字符串中包含MSIE4、MSIE5、MSIE6的所有浏览器不进行压缩。
gzip_http_version
功能:设置开启gzip功能的最低http协议版本。
语法:gzip_http_version 1.0|1.1
gzip_min_length
功能:设置页面字节数,当响应页面的大小大于该值时,才启用gzip功能。默认值 20
语法:gzip_min_length length;
案例:gzip_min_length 1024
Gzip压缩功能对大小数据的压缩效果明细,但若压缩较小的数据,则可能出现越压缩数据量越大的情况,因此应根据响应页面的大小,选择性地开启或关闭该功能。
gzip_type
功能:设置压缩类型
语法:gzip_type mime-type
案例:gzip_type text/plain image/png
gunzip_buffers
功能:设置nginx服务器解压gzip文件使用缓存空间的大小。
语法:gunzip_buffers number size
我是温新
每天进步一点点,就一点点