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

Nginx gzip的配置和校验

程序员文章站 2023-12-27 14:04:27
...

开启nginx gzip压缩后,网页、css、js等静态资源的大小会大大的减少,从而可以节约大量的带宽,提高传输效率,给用户快的体验。虽然会消耗cpu资源,但是为了给用户更好的体验是值得的。

未加入gzip时的响应头信息

比如访问首页,在浏览器中查看响应头信息:
Nginx gzip的配置和校验

加入gzip配置

在nginx.conf文件的http模块中加入gzip的配置

[aaa@qq.com html]# cat ../conf/nginx.conf

user root;
worker_processes  4;
worker_rlimit_nofile 65535;

events {
    worker_connections  65535;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    gzip  on;   #开启gzip
    gzip_min_length 1k; #低于1kb的资源不压缩
    gzip_comp_level 3; #压缩级别【1-9】,越大压缩率越高,同时消耗cpu资源也越多,建议设置在4左右。
    gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css;  #需要压缩哪些响应类型的资源,多个空格隔开。不建议压缩图片,下面会讲为什么。
    gzip_disable "MSIE [1-6]\.";  #配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持)
    gzip_vary on;  #是否添加“Vary: Accept-Encoding”响应头

    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

}

为了验证压缩效果,配合压缩资源的类型,我们在html目录中新建一个hbk.xml文件,为了看到效果,随便在网上找了一个spring.xml的配置文件,注意一定要大小大于1kb(配置中最小压缩配置的是1kb)。

在这里我的hbk.xml文件大小为3kb

[aaa@qq.com html]# ll -h
总用量 12K
-rw-r--r--. 1 root root  537 4月  12 18:04 50x.html
-rw-r--r--. 1 root root 3.0K 4月  13 16:40 hbk.xml
-rw-r--r--. 1 root root  612 4月  12 18:04 index.html

在浏览器*问hbk.xml文件,查看响应头信息如下:
Nginx gzip的配置和校验

可以看到相应头带上了Content-Encoding:gzip标识,说明gzip压缩起效果了。

gzip虽然好用,但是一下类型的资源不建议启用。

1、图片类型

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

2、大文件

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

推广链接

新款厨房卧室橱柜贴纸,大量有货,支持分销代销,分享此内容到朋友圈,凭截图找卖家免费领取保温杯一个(包邮),活动真实有效,每天只有前60个名额,发货领取奖品请扫码联系店主。Nginx gzip的配置和校验

上一篇:

下一篇: