当前位置:首页 > 科技  > 软件

Nginx如何开启GZIP文件压缩,你学会了吗?

来源: 责编: 时间:2023-11-30 09:28:11 153观看
导读简介GZip 是一种改进web应用程序性能的技术,文件压缩后再传输可以减少传输数据,提升传输速度。在Nginx服务器上开启Gzip压缩可以有效减少网络传输流量,提升网站的访问速度和性能。可以作用于任何字节流的通用压缩程序。

简介

GZip 是一种改进web应用程序性能的技术,文件压缩后再传输可以减少传输数据,提升传输速度。在Nginx服务器上开启Gzip压缩可以有效减少网络传输流量,提升网站的访问速度和性能。w6c28资讯网——每日最新资讯28at.com

可以作用于任何字节流的通用压缩程序。它会在后台记忆一些之前看到的内容,并尝试以高效方式查找并替换重复的数据片段,从而达到较好的压效果。但使用 gzip 压缩的最大错误之一就是用 gzip 压缩页面中的每个资源文件。w6c28资讯网——每日最新资讯28at.com

支持资源类型

实际上,GZip 主要用于对文本类型的资源进行压缩,例如常用见的文本资源:w6c28资讯网——每日最新资讯28at.com

  • HTML 文件:text/HTML(默认压缩)、application/xhtml+xml
  • CSS 文件:text/css
  • JS 文件:application/x-javascript、application/javascript、text/javascript
  • JSON文件:application/json、application/geo+json、application/ld+json application/manifest+json、application/x-web-app-manifest+json
  • XML 文件:application/xml、application/atom+xml、application/rdf+xml、application/rss+xml
  • SVG 文件:image/svg+xml;

GZip 对基于文本的内容的资源压缩效果最好,在压缩较大文件时往往可实现高达 70-90% 的压缩率,而如果对已经通过替代算法压缩过的资源(例如,大多数图片格式)运行 gzip,则效果甚微,甚至毫无效果。w6c28资讯网——每日最新资讯28at.com

浏览器支持情况

如图所示,目前所有主流的现代浏览器都支持 gzip 压缩,如下图所示:w6c28资讯网——每日最新资讯28at.com

图片图片w6c28资讯网——每日最新资讯28at.com

浏览器在发送请求时会自动请求该压缩编码的格式,如下图的请求头信息所示:w6c28资讯网——每日最新资讯28at.com

图片图片w6c28资讯网——每日最新资讯28at.com

浏览器会自动在请求头(Reqeust header s)信息中添加 Accept-Encoding: gzip 向服务器请求压缩编码格式的文件,gzip 压缩编码格式就在其中。w6c28资讯网——每日最新资讯28at.com

启用GZip

Nginx是否支持 GZip

nginx 中的 gzip 处理模块是:ngx_http_gzip_module。可以使用:nginx -V 命令,查看 nginx 服务器是否开启了对 gzip 的支持模块:w6c28资讯网——每日最新资讯28at.com

图片图片w6c28资讯网——每日最新资讯28at.com

如果显示如上图所示的:–with-http_gzip_ static _module,就说明你的nginx服务器已经支持 gzip 了,可以开始配置 gzip 压缩了。w6c28资讯网——每日最新资讯28at.com

未开启GZIP压缩

模拟网速慢未开启压缩。首先我们对nginx进行限速操作,限制每个连接的访问速度为128K来建立一个比较慢的访问场景。w6c28资讯网——每日最新资讯28at.com

修改mall.conf配置文件,进行限速操作w6c28资讯网——每日最新资讯28at.com

server {    listen       80;    server_name  mall.tinywan.com;        limit_rate 128k; # 限制网速为128K    location / {        root   /usr/share/nginx/html/mall;        index  index.html index.htm;    }    error_page   500 502 503 504  /50x.html;    location = /50x.html {        root   /usr/share/nginx/html;    }}

对mall的前端项目mall.tinywan.com进行访问,我们可以发现网站中有个js文件比较大,需要加载12s。w6c28资讯网——每日最新资讯28at.com

图片图片w6c28资讯网——每日最新资讯28at.com

Nginx 返回请求头信息如下w6c28资讯网——每日最新资讯28at.com

图片图片w6c28资讯网——每日最新资讯28at.com

开启GZIP压缩

开启Gzip模块。在Nginx配置文件中的http块内添加以下内容:w6c28资讯网——每日最新资讯28at.com

http {    gzip on;    gzip_types text/plain application/javascript;}

这里的gzip on表示开启gzip压缩,gzip_types指定需要进行压缩的文件类型,例如text/plain表示纯文本文件,application/javascript表示JavaScript文件。w6c28资讯网——每日最新资讯28at.com

完整配置文件w6c28资讯网——每日最新资讯28at.com

http {    gzip on; #开启gzip    gzip_disable "msie6"; #IE6不使用gzip    gzip_vary on; #设置为on会在Header里增加 "Vary: Accept-Encoding"    gzip_proxied any; #代理结果数据的压缩    gzip_comp_level 6; #gzip压缩比(1~9),越小压缩效果越差,但是越大处理越慢,所以一般取中间值    gzip_buffers 16 8k; #获取多少内存用于缓存压缩结果    gzip_http_version 1.1; #识别http协议的版本    gzip_min_length 1k; #设置允许压缩的页面最小字节数,超过1k的文件会被压缩    gzip_types application/javascript text/css; #对特定的MIME类型生效,js和css文件会被压缩    include /etc/nginx/conf.d/*.conf;}

再次对mall的前端项目mall.tinywan.com进行访问,我们可以发现js文件已经被压缩,加载时间缩短到3.88s,提速3倍左右:w6c28资讯网——每日最新资讯28at.com

图片图片w6c28资讯网——每日最新资讯28at.com

Nginx返回请求头中添加了Content-Encoding: gzip的信息w6c28资讯网——每日最新资讯28at.com

图片图片w6c28资讯网——每日最新资讯28at.com

总结

在服务器端 Nginx 启用 gzip 压缩,对于目前流行的单页面应用而言,起到的前端性能优化作用的意义就更大了,因为单页面应用的界面完全是由 JavaScript 动态绘制出来的,启用 gzip 压缩更快速的加载资源文件,特别是 JavaScript 脚本文件,就能尽快地显示界面,从而提升用户体验。w6c28资讯网——每日最新资讯28at.com

启用 gzip 压缩除了优化了页面的加载速度外,而对于公司来讲,启用 gzip 压缩后,网站对于网络带宽的需求也降低了,或者说是在现有的带宽情况下,能够更加充分的利用带宽资源,从长期效益来看,也可以间接的降低公司在带宽上的运行成本。w6c28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-35290-0.htmlNginx如何开启GZIP文件压缩,你学会了吗?

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 利用 Golang 中的 Recover 处理错误

下一篇: pring Boot 统一响应体处理器详解

标签:
  • 热门焦点
  • 卢伟冰长文解析K60至尊版 对Redmi有着里程碑式的意义

    卢伟冰长文解析K60至尊版 对Redmi有着里程碑式的意义

    在今天的Redmi后性能时代战略发布会结束之后,Redmi总经理卢伟冰又带来了一篇长文,详解了为什么 Redmi 要开启后性能时代?为什么选择和 MediaTek、Pixelworks 深度合作?以及后性
  • 5月iOS设备性能榜:M1 M2依旧是榜单前五

    5月iOS设备性能榜:M1 M2依旧是榜单前五

    和上个月一样,没有新品发布的iOS设备性能榜的上榜设备并没有什么更替,仅仅只有跑分变化而产生的排名变动,刚刚开始的苹果WWDC2023,推出的产品也依旧是新款Mac Pro、新款Mac Stu
  • K8S | Service服务发现

    K8S | Service服务发现

    一、背景在微服务架构中,这里以开发环境「Dev」为基础来描述,在K8S集群中通常会开放:路由网关、注册中心、配置中心等相关服务,可以被集群外部访问;图片对于测试「Tes」环境或者
  • 让我们一起聊聊文件的操作

    让我们一起聊聊文件的操作

    文件【1】文件是什么?文件是保存数据的地方,是数据源的一种,比如大家经常使用的word文档、txt文件、excel文件、jpg文件...都是文件。文件最主要的作用就是保存数据,它既可以保
  • 破圈是B站头上的紧箍咒

    破圈是B站头上的紧箍咒

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之每年的暑期档都少不了瞄准追剧女孩们的古偶剧集,2021年有优酷的《山河令》,2022年有爱奇艺的《苍兰诀》,今年却轮到小破站抓住了追
  • 最“俊美”淘宝卖家,靠直播和短视频圈粉,上架秒光,年销3000万

    最“俊美”淘宝卖家,靠直播和短视频圈粉,上架秒光,年销3000万

    来源 | 电商在线文|易琬玉编辑|斯问受访店铺:Ringdoll戒之人形图源:微博@御座的黄山、“Ringdoll戒之人形”淘宝店铺有关外貌的评价,黄山已经听累了。生于1985年的他,哪
  • 新电商三兄弟,“抖快红”成团!

    新电商三兄弟,“抖快红”成团!

    来源:价值研究所作 者:Hernanderz 随着内容电商的概念兴起,抖音、快手、小红书组成的“新电商三兄弟”成为业内一股不可忽视的势力,给阿里、京东、拼多多带去了巨大压
  • 认真聊聊东方甄选:如何告别低垂的果实

    认真聊聊东方甄选:如何告别低垂的果实

    来源:山核桃作者:财经无忌爆火一年后,俞敏洪和他的东方甄选依旧是颇受外界关心的“网红”。7月5日至9日,为期5天的东方甄选“甘肃行”首次在自有App内直播,
  • 四年持续更迭坚持探索行业无人之境,HarmonyOS 4带来五大升级多项创新

    四年持续更迭坚持探索行业无人之境,HarmonyOS 4带来五大升级多项创新

    除了华为每年新发布的旗舰手机系列,上亿花粉更加期待鸿蒙系统每次的跨版本大更新。8月4日,HarmonyOS 4于HDC 2023正式发布,这也是该系统历经四年的再
Top