• 喜欢前端以及PHP的朋友们可以加PHP同好会QQ群 点击加入qq群
  • 最近在写一个项目---"小A微信托管平台",大家可以去帮忙测试一下!功能在不断完善中,敬请关注!点击进入
  • 本站使用了PHP8.1与HTTP2.0协议,速度简直超级快有木有?

架构师之路系列NO.2 让你的网站快3倍之Nginx-gzip压缩

Linux Mr.Adam 9年前 (2016-10-08) 2329次浏览 已收录 0个评论

架构师之路系列 NO.2 让你的网站快 3 倍之 Nginx-gzip 压缩

架构师之路系列 NO.2 让你的网站快 3 倍之 Nginx-gzip 压缩

百度百科是这么解释 Gzip 的:
       GZIP 最早由 Jean-loup Gailly 和 Mark Adler 创建,用于 UNⅨ系统的文件压缩。我们在 Linux 中经常会用到后缀为.gz 的文件,它们就是 GZIP 格式的。现今已经成为 Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式。
       HTTP 协议上的 GZIP 编码是一种用来改进 WEB 应用程序性能的技术。大流量的 WEB 站点常常使用 GZIP 压缩技术来让用户感受更快的速度。这一般是指 WWW 服务器中安装的一个功能,当有人来访问这个服务器中的网站时,服务器中的这个功能就将网页内容压缩后传输到来访的电脑浏览器中显示出来.一般对纯文本内容可压缩到原大小的 40%.这样传输就快了,效果就是你点击网址后会很快的显示出来.当然这也会增加服务器的负载. 一般服务器中都安装有这个功能模块的。

Gzip 压缩原理:
当我们使用浏览器请求时,Http 请求头部会携带一个”Accept-Encoding: gzip, deflate, sdch”,这是在告诉服务器此浏览器可以接受的压缩格式, 其中所有浏览器都支持 gzip 这个压缩格式.
当服务器响应之后,在 Http 响应头部也有一个”Content-Encoding:gzip”,则是告诉浏览器,此响应内容是经过 gzip 压缩之后的,浏览器则会自动解压,然后才展现到用户界面.
这样一来,本来文件大小如果是 200kb 左右大小,经过压缩之后可能只有 60kb(大概是原来的 1/3).
它的优势就很明显,可以大大节约网络带宽流量,在网络传输层面网站响应速度当然就是质的提升了,网站打开速度大概能快 2-3 倍,这就是此次优化的目的! :cool:
此次我们在 nginx 下来使用 gzip

Gzip 的常用配置参数详解

配置 参数 说明
gzip on|off 是否开启 gzip
gzip_buffers 32 4K|16 8K|16 16k… 缓冲(压缩在内存中缓冲几块,每块多大)
gzip_comp_level [1-9] 压缩级别,推荐 6,级别越高,压得越小,同时越节省带宽资源,但更浪费 cpu 资源
gzip_disable 正则匹配 URL(什么样的 uri 不进行 gzip 压缩)
gzip_min_length 2000 开始压缩的最小长度
gzip_http_version 1.0|1.1 http 协议的版本(可以不设置)
gzip_proxied expired no-cache no-store private auth 设置请求者代理服务器,该如何缓存内容
gzip_types text/plain|application/xml 对哪些文件进行压缩 如 txt,xml,css,js,html
gzip_vary on|off 是否传输 gzip 压缩标志

gzip 配置可以写在 nginx 的 http 段,server 段和 location 段中,一般我们把它写在 server 中,即对整个网站都进行压缩!

注意:如果想要使用 gzip 需要编译 nginx 时将 gzip 模块编译进去才能使用!对于太小的文件,不建议压缩,对于图片,音频,视频一类的,不建议进行压缩!

以下是本机的压缩实例,大家可以照搬

        gzip on;
        gzip_buffers 32 4k;
        gzip_comp_level 6;
        gzip_min_length 200;
        gzip_types text/css text/xml application/x-javascript text/plain;

小 A 空间 , 版权所有丨如未注明转载 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明架构师之路系列 NO.2 让你的网站快 3 倍之 Nginx-gzip 压缩
喜欢 (3)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址