欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

NGINX开启GZIP压缩

程序员文章站 2024-02-08 17:26:22
...

为什么要开启GZIP?

主要是在于HTTP传输主要以文本为主,尤其是大量的JS/CSS/HTML还有图片等等,那么开启了GZIP后,就可以在传输的过程中对内容进行压缩,既减少了对于带宽的压力,还可以提升用户打开网页的速度,何乐而不为呢?

我为什么要开启GZIP?

没错,我开启GZIP的根本原因和上面没有半毛钱关系,以上带来的好处最多也仅仅是算是附属品吧,我遇到的难题是:使用百度的开源编辑器umeditor插件,但是其中的umeditor.js/umeditor.min.js无法完整的加载,而且只有这2个文件不正常,其他均正常,但是压缩后就变得好用了。
百度umeditor编辑器中js的坑爹问题

在NGINX中开启GZIP

其实,在NGINX的默认配置文件中,已经写了一部分,不过被注释掉了,就是在http中的server上面有一行:

#gzip  on;

那么仅仅把注释去掉也是不可以的,只是开启了一部分,我们还需要更多的设置。

        gzip  on;
        gzip_min_length 1k;
        gzip_buffers 4 16k;
        gzip_comp_level 3;
        gzip_types text/plain text/css application/xml application/javascript application/x-javascript text/javascript;

第一行,必须开启,开启了以后下面的内容才生效。
第二行,大于1K的文件才会压缩,小文件压缩也节省不了多少带宽,所以就没有这个必要。
第三行,压缩的缓存区,可以不用管,照写就是。
第四行,压缩的级别,越高,压缩的文件越小,但是压缩的时间比较长,我选择3.
第五行,压缩的类型,我都说了我最主要的目的就是使js进行正常的加载,所以就没有配置图片,如果有需要可以对PNG/BMP等图片进行压缩一下,还是可以节省很多的空间的,这里因人而异吧。不过需要注意的是,压缩javascript文件必须上面三个内容都必须写,而且顺序不能乱,否则没有效果。

最后,重启或者重新加载nginx的配置文件。

nginx -s reload

然后打开网页GZIP压缩检测的这个网页,对其进行检测就可以了。