Skip to content

为你的网站开启gzip

前言

在使用 haida-webapp 时发现,在 dev环境(http://haida.dev.jinxin.cloud) 和 demo环境(https://haida.ztdemo.com) 页面渲染速度有着明显的差异。

经过排查发现:

  • 在dev环境时:请求的 index.js 占用8.2M内存,耗时1.69s。
  • 在demo环境时:请求的 index.js 占用2M内存,耗时477ms。

我们可以看到唯一的差异是:在 Content-Encoding 中标注了,demo环境启用了gzip。

目的

开启Gzip压缩功能, 可以使网站的css、js 、xml、html 文件在传输时进行压缩,提高访问速度。

Nginx如何配置开启gzip

nginx.conf:

sh
server{
  ...
  gzip on; 
  gzip_vary      on;
  gzip_disable "msie6"; 
  gzip_proxied any; 
  gzip_min_length 1000; 
  gzip_comp_level 4; 
  gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript image/svg+xml image/x-icon application/javascript; 
  gzip_buffers 4 16k;
  gzip_http_version 1.1;
  ...
}

配置说明:

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