Nginx开启Gzip压缩功能, 可以使网站的css、js 、xml、html 文件在传输时进行压缩,提高访问速度,! Web网站上的图片,视频等其它多媒体文件以及大文件,因为压缩效果不好,所以对于图片没有必要压缩,如果想要优化,可以图片的生命周期设置长一点,让客户端来缓存。 开启Gzip功能后,Nginx服务器会根据配置的策略对发送的内容, 如css、js、xml、html等静态资源进行压缩, 使得这些内容大小减少,在用户接收到返回内容之前对其进行处理,以压缩后的数据展现给客户。这样不仅可以节约大量的出口带宽,提高传输效率,还能提升用户体验。
gzip压缩作用:将响应报⽂发送⾄客户端之前可以启⽤压缩功能,这能够有效地节约带宽,并提⾼响应⾄客户端的速度。
gzip配置域:http,server和location模块。
配置参数:
#gzip模块设置
#开启gzip压缩输出
gzip on;
#最小压缩文件大小
gzip_min_length 1k;
#压缩缓冲区
gzip_buffers 4 16k;
#压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
gzip_http_version 1.0;
#压缩等级
gzip_comp_level 2;
#压缩类型,默认就已经包含text/html,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn。
gzip_types text/plain application/x-javascript text/css application/xml;
#选择支持vary header,可以让前端的缓存服务器缓存经过gzip压缩的页面;
gzip_vary on;
通过curl命令测试:curl -I -H "Accept-Encoding: gzip, deflate" http://www.imcati.com/index.html
关闭压缩功能:
Nginx的Gzip压缩功能虽然好用,但是下面两类文件资源不太建议启用此压缩功能:
1) 图片类型资源 (还有视频文件)
原因:图片如jpg、png文件本身就会有压缩,因此开启gzip后,压缩前和压缩后大小没有多大区别,反而会白白的浪费资源。
2) 大文件资源
原因:会消耗大量的cpu资源,且不一定有明显的效果。