Nginx性能优化之Gzip压缩的设置方法(nginx开启gzip压缩)

Nginx性能优化之Gzip压缩的设置方法(nginx开启gzip压缩)

浏览次数:
信息来源: 用户投稿
更新日期: 2025-12-17
文章简介

gzipon;#决定是否开启gzip模块,on表示开启,off表示关闭; gzip_min_length1k;#设置允许压缩的页面最小字节(从header头的Content-Length中获取

2025阿里云双十一服务器活动

gzipon;#决定是否开启gzip模块,on表示开启,off表示关闭;

gzip_min_length1k;#设置允许压缩的页面最小字节(从header头的Content-Length中获取),当返回内容大于此值时才会使用gzip进行压缩,以K为单位,当值为0时,所有页面都进行压缩。建议大于1k

gzip_buffers416k;#设置gzip申请内存的大小,其作用是按块大小的倍数申请内存空间,param2:int(k)后面单位是k。这里设置以16k为单位,按照原始数据大小以16k为单位的4倍申请内存

gzip_http_version1.1;#识别http协议的版本,早起浏览器可能不支持gzip自解压,用户会看到乱码

gzip_comp_level2;#设置gzip压缩等级,等级越底压缩速度越快文件压缩比越小,反之速度越慢文件压缩比越大;等级1-9,最小的压缩最快但是消耗cpu

gzip_typestext/plainapplication/x-javascripttext/cssapplication/xml;#设置需要压缩的MIME类型,非设置值不进行压缩,即匹配压缩类型

gzip_varyon;#启用应答头"Vary:Accept-Encoding"

nginx做为反向代理时启用,off(关闭所有代理结果的数据的压缩),expired(启用压缩,如果header头中包括"Expires"头信息),no-cache(启用压缩,header头中包含"Cache-Control:no-cache"),

no-store(启用压缩,header头中包含"Cache-Control:no-store"),private(启用压缩,header头中包含"Cache-Control:private"),no_last_modefied(启用压缩,header头中不包含

"Last-Modified"),no_etag(启用压缩,如果header头中不包含"Etag"头信息),auth(启用压缩,如果header头中包含"Authorization"头信息)

(IE5.5和IE6SP1使用msie6参数来禁止gzip压缩)指定哪些不需要gzip压缩的浏览器(将和User-Agents进行匹配),依赖于PCRE库

#如下:修改nginx配置文件/usr/local/nginx/conf/nginx.conf

[root@localhost~]将以下配置放到nginx.conf的http{...}区域中

gzip_min_length10k;#设置允许压缩的页面最小字节数;这里表示如果文件小于10个字节,就不用压缩,因为没有意义,本来就很小.

gzip_buffers416k;#设置压缩缓冲区大小,此处设置为4个16K内存作为压缩结果流缓存

gzip_http_version1.1;#压缩版本

gzip_comp_level2;#设置压缩比率,最小为1,处理速度快,传输速度慢;9为最大压缩比,处理速度慢,传输速度快;这里表示压缩级别,可以是0到9中的任一个,级别越高,压缩就越小,节省了带宽资源,但同时也消耗CPU资源,所以一般折中为6

gziptypestext/csstext/xmlapplication/javascript;#制定压缩的类型,线上配置时尽可能配置多的压缩类型!

Nginx性能优化之Gzip压缩的设置方法,nginx开启gzip压缩

gzipvaryon;cat/data/nginx/conf/nginx.conf

gzip_typestext/plainapplication/x-javascripttext/cssapplication/xmltext/javascriptapplication/x-httpd-phpapplication/javascriptapplication/json;

gzip_disable"MSIE[1-6]\.";

}

如果不开启Gzip压缩功能(即注释掉Gzip的相关配置),查看某个图片大小

[root@external-lb02~]#ll-h/data/web//www/test.bmp

-rw-r--r--1rootroot453K3月1418:43/data/web//www/test.bmp

如下可知,文件没有被压缩,文件传输大小还是400多K

如果开启Nginx的Gzip压缩功能(即打开Gzip的相关配置),然后再次访问test.bmp图片,发现压缩后的该图片文件传输大小只有200多K!

通过上面测试对比,发现Nginx开启Gzip压缩功能后,定义的gziptype的文件在传输时的大小明显变小,这样这会大大提高nginx访问性能.

[root@fvtlb02~]#curl-I-H"Accept-Encoding:gzip,deflate""http://fvtvfc-web.kevin.com/service-worker.js"

Date:Mon,26Nov201802:19:16GMT

Content-Type:application/javascript;charset=utf-8

Last-Modified:Sun,25Nov201822:28:15GMT

Content-Encoding:gzip

如上,responseheader头信息中出现"Conten_Encoding:gzip",就说明Nginx已开启了压缩(在浏览器访问,通过F12看请求的响应头部也是一样)

Nginx的Gzip压缩功能虽然好用,但是下面两类文件资源不太建议启用此压缩功能。

1)图片类型资源(还有视频文件)原因:图片如jpg、png文件本身就会有压缩,所以就算开启gzip后,压缩前和压缩后大小没有多大区别,所以开启了反而会白白的浪费资源。(可以试试将一张jpg图片压缩为zip,观察大小并没有多大的变化。虽然zip和gzip算法不一样,但是可以看出压缩图片的价值并不大)

2)大文件资源原因:会消耗大量的cpu资源,且不一定有明显的效果。

以上就是Nginx性能优化之Gzip压缩的设置方法的详细内容,更多请关注主机测评网其它相关文章!

标签:
租用云服务器安全吗
« 上一篇
返回列表
下一篇 »

如本文对您有帮助,就请抽根烟吧!