webpack打包,Tomcat 和 nginx 开启gzip压缩

Tomcat 和 nginx 启用 gzip压缩

前端代码通过webpack打包之后,体积大大减小,但是有时候项目引入过多插件,会导致打包后的文件已然很大,受带宽显示,客户端浏览器访问体验较差。其中一个优化方案是通过极限压缩,即 gzip压缩。大小大约是未压缩的三分之一。

一. 前端打包开启gzip

//压缩gzip格式 
const CompressionPlugin = require('compression-webpack-plugin');
new CompressionPlugin({
    filename: '[path].gz[query]',
    algorithm: 'gzip',
    test: /\.js$|\.css$|\.html$/
}),

仅仅是生成gzip文件,浏览器访问并不会自动识别,也不能直接引入gzip文件,需要服务器端开启gzip访问权限。

二. 使用gzip文件

1. Tomcat 开启允许gzip访问

// 打开 %TOMCAT_HOME%/conf/server.xml
//增加配置:
<Connector port="8085" protocol="HTTP/1.1"
    connectionTimeout="20000"
    compression="on"  // 开启压缩 (on|off)
    compressionMinSize="2048" // 启用压缩的输出内容大小,默认2KB
    noCompressionUserAgents="gozilla, traviata"  // 配置不开启压缩浏览器
    compressableMimeType="text/html,text/xml,text/plain,text/css,application/javascript" //设置压缩文件
    useSendfile="false"
//useSendfile属性默认为true, 会禁用压缩, 需要设置为false
/>

2. Nginx 开启允许gzip访问

http {
  # 开启gzip
  gzip on;
  # 启用gzip压缩的最小文件;小于设置值的文件将不会被压缩
  gzip_min_length 1k;
  # gzip 压缩级别 1-10 
  gzip_comp_level 2;
  # 进行压缩的文件类型。
  gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
  # 是否在http header中添加Vary: Accept-Encoding,建议开启
  gzip_vary on;
}

2. 实验效果

原始文件

在这里插入图片描述

Tomcat压缩开启之前

在这里插入图片描述

① Tomcat压缩开启之后

在这里插入图片描述

② nginx压缩开启之后

设置等级: gzip_comp_level 2

在这里插入图片描述

设置等级: gzip_comp_level 6

在这里插入图片描述

试了几次之后发现,总体上大约就是压缩三分之一左右,提升还是相当明显的,在带宽固定的情况下,访问速速显著提升。






参考博客:
nginx缓存配置及开启gzip压缩

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

非科班Java出身GISer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值