Nginx如果基于gzip压缩提高访问速度

一.为什么nginx要使用gzip

1,压缩的作用:

页面使用gzip压缩之后,

页面大小可以压缩到原来的1/7左右,

传输速度和页面打开时间都可以大幅度提高,

有利于用户访问页面体验的提升

2,Nginx实现gzip压缩的原理:

通过ngx_http_gzip_module模块拦截请求,

并对需要做gzip的类型做gzip压缩

3, ngx_http_gzip_module是Nginx默认集成的,

不需要重新编译,直接开启即可

源码:https://github.com/liuhongdi/

二.gzip模块使用例子

gzip on;
  gzip_min_length 1k;
  gzip_disable "MSIE [1-6]\.";
  gzip_comp_level 5;
  gzip_types text/css text/javascript text/xml text/plain application/json application/javascript application/x-javascript application/xml application/xml+rss;
  gzip_http_version 1.1;

各个指令的说明:

gzip on;

开启gzip模式,

默认值是off,就是不启用gzip压缩功能

当然是要把它设置为on了

gzip_min_length 1k;

设置允许压缩的页面最小字节数,页面字节数从header头中的Content-Length中进行获取。

太小的文件内容压缩之后效果不明显,甚至会比不压缩时更大。

默认值是20,这个值过小,

一般设置为长度不小于1k

gzip_disable

IE6对Gzip支持效果较差,所以针对它不启用

gzip_comp_level :

gzip 压缩级别,1-9,

数字越大压缩的比例越高,但也越占用CPU时间

它的默认值是1,通常会设置为5或6

如果cpu占用高,设置为2或3也可以

gzip_http_version :

设置gzip压缩所支持的最小HTTP版本,

如果低于该版本不使用gzip压缩。

默认值是1.1

一般使用1.1。

gzip_types :

针对哪些类型的页面才启用gzip压缩,有多个值则用空格分隔。

通配符*可以匹配任意类型,但不要用这个值。

只有js/css/html/text这几类内容压缩才有明显的效果,

图片和视频等本身经过压缩算法处理过的文件启用压缩也没有明显效果。

1,不管是否指定text/html类型,该类型的响应总是启用压缩,

所以这个值可以不用写上

2,这些文件类型对应的mime-type可以参考nginx/conf/mime.types文件

3,常用的9个值:

text/css text/javascript text/xml text/plain

application/json application/javascript application/x-javascript

application/xml application/xml+rss

三.例子中未用到的其他设置项:

gzip_buffers 4 16k;

gzip_vary on;

gzip_proxied any;

gzip_vary:

vary header支持,

on的话会在Header里增加"Vary: Accept-Encoding"

这个值可以让前端的缓存服务器缓存经过GZIP压缩的页面,

例如用Squid缓存经过nginx压缩的数据

如果在nginx前端使用了squid或varnish,

可以设置此值为on

gzip_proxied

nginx 做前端代理时启用该选项,

如果值是 any, 表示无论后端服务器的headers头返回什么信息,

都无条件启用压缩

如果用了nginx作反向代理,

设置此值为any

gzip_buffers:

设置用于处理压缩的缓冲区大小。

默认值:32 4k|16 8k

32 4k代表以4k为单位将响应数据以4k的32倍(128k)的大小申请内存。

建议此项不设置,使用默认值

四.查看gzip的压缩效果

1,使用curl查看

#-I, --head Show document info only 只显示头信息

#-H,--header LINE: Pass custom header LINE to server (H) 自定义请求头的信息

[root@localhost curl]# curl -I -H "Accept-Encoding: gzip, deflate" http://www.lhdtest.net
HTTP/1.1 200 OK
Server: openresty
Date: Mon, 27 Apr 2020 07:59:38 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Vary: Accept-Encoding
Set-Cookie: SESSID_WEB=0ks2eh03vmv4dhje29ggojl1bs; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Content-Encoding: gzip

说明:看到Conten_Encoding: gzip则表示gzip压缩已生效

2,通过浏览器查看效果

从浏览器端响应头信息看gzip是否生效:

看截图:压缩前和压缩后的效果对比:

压缩前:

压缩后:

说明:我使用的是firefox的web控制台,大家也可用yslow之类的插件试试

五.查看nginx的版本:

[root@centos8 soft]# /usr/local/soft/nginx-1.18.0/sbin/nginx -v
nginx version: nginx/1.18.0

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • nginx配置gzip压缩页面

    gzip(GNU-ZIP)是一种压缩技术.经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用户浏览页面的时候速度会块得多.gzip的压缩页面需要浏览器和服务器双方都支持,实际上就是服务器端压缩,传到浏览器后浏览器解压并解析. Nginx的压缩输出有一组gzip压缩指令来实现.相关指令位于http{-.}两个大括号之间. gzip on;该指令用于开启或关闭gzip模块(on/off) gzip_min_length 1k;设置允许压缩的页面最小字节数,页面字节数从header头得c

  • 详解Nginx服务器的配置中开启文件Gzip压缩的方法

    gzip(GNU- ZIP)是一种压缩技术.经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用户浏览页面的时候速度会块得多.gzip的压缩页面需要浏览 器和服务器双方都支持,实际上就是服务器端压缩,传到浏览器后浏览器解压并解析.浏览器那里不需要我们担心,因为目前的巨大多数浏览器都支持解析gzip 过的页面. Nginx的压缩输出有一组gzip压缩指令来实现.相关指令位于http{-.}两个大括号之间. 下面大致讲一下配置开启gzip压缩的方法: 1.Vim打开Nginx配置文件 v

  • Nginx中的Gzip压缩配置介绍

    随着nginx的发展,越来越多的网站使用nginx,因此nginx的优化变得越来越重要,今天我们来看看nginx的gzip压缩到底是怎么压缩的呢? gzip(GNU- ZIP)是一种压缩技术.经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用户浏览页面的时候速度会块得多.gzip的压缩页面需要浏览 器和服务器双方都支持,实际上就是服务器端压缩,传到浏览器后浏览器解压并解析.浏览器那里不需要我们担心,因为目前的巨大多数浏览器都支持解析gzip 过的页面. Nginx的压缩输出有一组g

  • Nginx服务器中使用gzip压缩的相关配置解析

    gzip压缩 使用 gzip 压缩可以降低网站带宽消耗,同时提升访问速度. 主要在nginx服务端将页面进行压缩,然后在浏览器端进行解压和解析, 目前大多数流行的浏览器都迟滞gzip格式的压缩,所以不用担心. 默认情况下,Nginx的gzip压缩是关闭的,同时,Nginx默认只对text/html进行压缩 主要配置如下: gzip on;#开启 gzip_http_version 1.0;#默认1.1 gzip_vary on; gzip_comp_level 6; gzip_proxied a

  • Node.js站点使用Nginx作反向代理时配置GZip压缩的教程

    node.js 开发的站点,如果你也是用了nginx实现反向代理. 那么在服务端可以轻松实现 gzip 压缩,让站点浏览更顺畅. 前提条件: node.js + nginx 反向代理. node.js 需要做的工作: express 4.0以下版本: app.use(express.compress()); //主要是这句 app.use(express.json()); app.use(express.urlencoded()); app.use(express.bodyParser());

  • Nginx开启Gzip压缩大幅提高页面加载速度的方法

    刚刚给博客加了一个500px相册插件,lightbox引入了很多js文件和css文件,页面一下子看起来非常臃肿,所以还是把Gzip打开了. 环境:Debian 6 1.Vim打开Nginx配置文件 vim /usr/local/nginx/conf/nginx.conf 2.找到如下一段,进行修改 gzip on; gzip_min_length 1k; gzip_buffers 4 16k; #gzip_http_version 1.0; gzip_comp_level 2; gzip_typ

  • Nginx启用压缩及开启gzip 压缩的方法

    在nginx.conf文件的http模块新增以下内容 gzip             on; gzip_min_length  10k;  # 设置允许压缩的页面最小字节数 gzip_comp_level  6; gzip_vary        on; gzip_types       text/plain text/css application/javascript application/json application/xml text/xml image/png image/gif

  • Nginx启用GZIP压缩网页传输方法(推荐)

    原理: 浏览器-请求--> 声明可以接受 gzip压缩 或 deflate压缩 或compress 或 sdch压缩 从http协议的角度看–请求头 声明 acceopt-encoding: gzip deflate sdch (是指压缩算法,其中sdch是google倡导的一种压缩方式,目前支持的服务器尚不多) 服务器–>回应-把内容用gzip方式压缩-->发给浏览器 浏览<-–解码gzip-–接收gzip压缩内容-- gzip配置的常用参数 参数 含义 gzip on/off

  • Nginx如果基于gzip压缩提高访问速度

    一.为什么nginx要使用gzip 1,压缩的作用: 页面使用gzip压缩之后, 页面大小可以压缩到原来的1/7左右, 传输速度和页面打开时间都可以大幅度提高, 有利于用户访问页面体验的提升 2,Nginx实现gzip压缩的原理: 通过ngx_http_gzip_module模块拦截请求, 并对需要做gzip的类型做gzip压缩 3, ngx_http_gzip_module是Nginx默认集成的, 不需要重新编译,直接开启即可 源码:https://github.com/liuhongdi/

  • Nginx基于gzip压缩提高访问速度

    一.为什么nginx要使用gzip 1,压缩的作用: 页面使用gzip压缩之后, 页面大小可以压缩到原来的1/7左右, 传输速度和页面打开时间都可以大幅度提高, 有利于用户访问页面体验的提升 2,Nginx实现gzip压缩的原理: 通过ngx_http_gzip_module模块拦截请求, 并对需要做gzip的类型做gzip压缩 3, ngx_http_gzip_module是Nginx默认集成的, 不需要重新编译,直接开启即可 源码:https://github.com/liuhongdi/

  • Nginx静态压缩和代码压缩提高访问速度详解

    目录 前言 nginx静态资源动态压缩 nginx静态资源静态压缩 总结 前言 基于目前大部分的应用,都使用了前后端分离的框架,vue的前端应用,也是十分的流行. 不知道大家伙,有无遇到这样的问题: 随着前端框架的页面,功能开发不断的迭代:安装的依赖,不断的增多: 这样导致的问题,就是我们的前端框架,会变得十分庞大,打包出来的dist目录会变得很大了喔!!! 这样就会导致一个问题:首次访问应用,会变得很慢!!! 这确实是一个严重的问题!!!T_T 对于这个问题,咋们今天就从代码压缩+nginx静

  • nginx中gzip压缩提升网站速度的实现方法

    为啥使用gzip压缩 开启nginx的gzip压缩,网页中的js,css等静态资源的大小会大大的减少从而节约大量的带宽,提高传输效率,给用户快的体验. nginx实现gzip nginx实现资源压缩的原理是通过默认集成的ngx_http_gzip_module模块拦截请求,并对需要做gzip的类型做gzip,使用非常简单直接开启,设置选项即可.. gzip生效后的请求头和响应头 Request Headers: Accept-Encoding:gzip,deflate,sdch Response

  • Tomcat配置gzip压缩提高浏览网站的速度

    HTTP 压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求网 页后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解 压缩并浏览.相对于普通的浏览过程HTML ,CSS,Javascript , Text ,它可以节省40%左右的流量.更为重要的是,它可以对动态生成的,包括CGI.PHP , JSP , ASP , Servlet,SHTML等输出的网页也能进行压缩,压缩效率惊人 一 对于Tomcat5.0以后的版本是支持对输出内容进行压缩的使用的是gzip压缩格式 下

  • js 利用image对象实现图片的预加载提高访问速度

    大量采用高解析度的图像的确可以让一个Web站点容光焕发.但同样也会造成站点访问速度下降--图片是文件,文件就要占用带宽,而带宽直接同访问等待时间相关.现在,让我们来学习一种名为图像预装载(image preloading)的小技巧来提高图像访问速度. 一些浏览器试图通过在本地缓存中保存这些图片来解决此问题.这样一来可以顺序调用这些图片--但对于首次使用这些图片的时候仍然会存在延时.预装载就是一种在需要图片之前就将图片下载到缓存的技术.采用这样的方式可以使当确实需要显示图片时迅速将其从缓存中恢复回

  • Nginx性能优化之Gzip压缩设置详解(最大程度提高页面打开速度)

    Nginx开启Gzip压缩功能, 可以使网站的css.js .xml.html 文件在传输时进行压缩,提高访问速度, 进而优化Nginx性能!  Web网站上的图片,视频等其它多媒体文件以及大文件,因为压缩效果不好,所以对于图片没有必要支压缩,如果想要优化,可以图片的生命周期设置长一点,让客户端来缓存. 开启Gzip功能后,Nginx服务器会根据配置的策略对发送的内容, 如css.js.xml.html等静态资源进行压缩, 使得这些内容大小减少,在用户接收到返回内容之前对其进行处理,以压缩后的数

  • 关于HTTP传输中gzip压缩的秘密探索分析

    前言 网页加载速度加快的好处不言而喻,除了节省流量,改善用户的浏览体验外,另一个潜在的好处是Gzip与搜索引擎的抓取工具有着更好的关系.例如 Google就可以通过直接读取gzip文件来比普通手工抓取更快地检索网页.在Google网站管理员工具(Google Webmaster Tools)中你可以看到,sitemap.xml.gz 是直接作为Sitemap被提交的. 而这些好处并不仅仅限于静态内容,PHP动态页面和其他动态生成的内容均可以通过使用Apache压缩模块压缩,加上其他的性能调整机制

随机推荐