使用 FireFox(40.0)访问博客园(http://www.cnblogs.com/),观察 http 头信息

请求头信息:

Accept-Encoding gzip, deflate 表示浏览器接受的压缩方式有 gzip 和 deflate

响应头信息:

Content-Encoding gzip 表示服务器返回内容的压缩方式是 gzip

注意:图片/mp3 这样的二进制文件不必压缩,因为压缩比较小(而且压缩需要消耗 CPU 资源)

在 nginx 下使用 gzip

nginx gzip 相关语法见:http://nginx.org/en/docs/http/ngx_http_gzip_module.html

gzip 配置的常见参数:

gzip on|off 是否开启 gzip
gzip_buffers 32 4k|16 8k 缓冲(压缩在内存中缓冲几块(32,16),每块的大小(4k,8k))
gzip_comp_level [1-9] 压缩级别(级别越高,压得越小,同时越消耗 CPU 计算资源)。推荐 6
gzip_disable 正则匹配。哪些 URI 不进行 gzip 压缩
gzip_min_length 200 开始压缩的最小长度(单位字节),小于该长度就不压缩
gzip_http_version 1.0|1.1 开始压缩的 http 版本协议(可以不设置,默认 1.1)
gzip_proxied 设置请求代理服务器如何缓存
gzip_types text/plain application/xml 对哪些类型的文件使用压缩,如 html(默认)、xml、css、js
gzip_vary on|off 是否传输 gzip 压缩标志

其中 gzip_type 的参数要使用文件 MIME 类型,可以在 /usr/local/nginx/conf/mime.type 文件中查看

[root@localhost nginx]# cat conf/mime.typestypes {text/html                             html htm shtml;text/css                              css;text/xml                              xml;image/gif                             gif;image/jpeg                            jpeg jpg;application/javascript                js;application/atom+xml                  atom;application/rss+xml                   rss;text/mathml                           mml;text/plain                            txt;text/vnd.sun.j2me.app-descriptor      jad;text/vnd.wap.wml                      wml;text/x-component                      htc;image/png                             png;image/tiff                            tif tiff;image/vnd.wap.wbmp                    wbmp;image/x-icon                          ico;image/x-jng                           jng;image/x-ms-bmp                        bmp;image/svg+xml                         svg svgz;image/webp                            webp;application/font-woff                 woff;application/java-archive              jar war ear;application/json                      json;application/mac-binhex40              hqx;application/msword                    doc;application/pdf                       pdf;application/postscript                ps eps ai;application/rtf                       rtf;application/vnd.apple.mpegurl         m3u8;application/vnd.ms-excel              xls;application/vnd.ms-fontobject         eot;application/vnd.ms-powerpoint         ppt;application/vnd.wap.wmlc              wmlc;application/vnd.google-earth.kml+xml  kml;application/vnd.google-earth.kmz      kmz;application/x-7z-compressed           7z;application/x-cocoa                   cco;application/x-java-archive-diff       jardiff;application/x-java-jnlp-file          jnlp;application/x-makeself                run;application/x-perl                    pl pm;application/x-pilot                   prc pdb;application/x-rar-compressed          rar;application/x-redhat-package-manager  rpm;application/x-sea                     sea;application/x-shockwave-flash         swf;application/x-stuffit                 sit;application/x-tcl                     tcl tk;application/x-x509-ca-cert            der pem crt;application/x-xpinstall               xpi;application/xhtml+xml                 xhtml;application/xspf+xml                  xspf;application/zip                       zip;application/octet-stream              bin exe dll;application/octet-stream              deb;application/octet-stream              dmg;application/octet-stream              iso img;application/octet-stream              msi msp msm;application/vnd.openxmlformats-officedocument.wordprocessingml.document    docx;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet          xlsx;application/vnd.openxmlformats-officedocument.presentationml.presentation  pptx;audio/midi                            mid midi kar;audio/mpeg                            mp3;audio/ogg                             ogg;audio/x-m4a                           m4a;audio/x-realaudio                     ra;video/3gpp                            3gpp 3gp;video/mp2t                            ts;video/mp4                             mp4;video/mpeg                            mpeg mpg;video/quicktime                       mov;video/webm                            webm;video/x-flv                           flv;video/x-m4v                           m4v;video/x-mng                           mng;video/x-ms-asf                        asx asf;video/x-ms-wmv                        wmv;video/x-msvideo                       avi;
}

mime.types

在 /usr/local/nginx/conf/nginx.conf 中开始配置:

[root@localhost nginx]# vim conf/nginx.conf

gzip 的上下文(context)可以是 http、server、location、if in location

如果针对针对整个网站发挥作用,就在 server 段中进行配置:

    server {listen       80;server_name  localhost;#gzip gzip on;gzip_buffers 32 4k;gzip_comp_level 6;gzip_min_length 200;gzip_types text/css text/xml application/x-javascript;

平滑重启 nginx。

此时访问服务器上 ecshop 项目的某个 URL,观察 http 响应头:

由于是分块传输,因此看不到 Content-Length。

此时再访问一个内容较小的页面(内容长度小于 200 字节),观察 http 响应头:

此时内容没有被 gzip 压缩。

在项目中 gzip_min_length 可设置较大值,如 4000(4k)。

转载于:https://www.cnblogs.com/dee0912/p/4731347.html

Nginx 笔记与总结(13)Nginx 的 gzip 压缩相关推荐

  1. Nginx笔记总结十六:nginx优化指南

    1.高层的配置 worker_processes 定义了nginx对外提供web服务时的worker进程数 worker_rlimit_nofile 更改worker进程最大打开文件数量限制,如果没有 ...

  2. 《Python Cookbook 3rd》笔记(5.13):读写压缩文件

    获取文件夹中的文件列表 问题 你想获取文件系统中某个目录下的所有文件列表. 解法 使用 os.listdir() 函数来获取某个目录中的文件列表: import os names = os.listd ...

  3. Nginx - 正反向代理,nginx.conf配置

    Nginx (engine x) 是一个轻量级的高性能的HTTP和反向代理web服务器及电子邮件(IMAP/POP3)代理服务器. Nginx 是由俄罗斯人 Igor Sysoev 采用C语言开发编写 ...

  4. Nginx笔记系列(1)——Nignx的安装部署

    2019独角兽企业重金招聘Python工程师标准>>> Nginx百科 服务器(软件)你能一口气说出几个?从当年"蹒跚学步"学java时开始用 Tomcat,到& ...

  5. Nginx优化与防盗链(隐藏版本号、配置缓存时间、日志分割、修改进程数、配置连接超时、使用gzip压缩页面、防盗链设置,fpm优化)

    文章目录 隐藏Nginx版本号 网页压缩 网页压缩配置 网页缓存时间 网页缓存时间设置 更改Nginx运行进程数 连接超时 nginx防盗链设置 盗链网站 配置httpd 日志分割 fpm参数优化 隐 ...

  6. Linux实战教学笔记37:企业级Nginx Web服务优化实战(上)

    一,Nginx基本安全优化 1.1 调整参数隐藏Nginx软件版本号信息 一般来说,软件的漏洞都和版本有关,这个很像汽车的缺陷,同一批次的要有问题就都有问题,别的批次可能就都是好的.因此,我们应尽量隐 ...

  7. Nginx 笔记与总结(3)配置虚拟主机

    Nginx 重启的另外一种方式,相当于 kill -HUP `cat /usr/local/nginx/logs/nginx.pid`: /usr/local/nginx/sbin/nginx -s ...

  8. nginx 开启gzip压缩--字符串压缩比率很牛叉

    刚刚给博客加了一个500px相册插件,lightbox引入了很多js文件和css文件,页面一下子看起来非常臃肿,所以还是把Gzip打开了. 环境:Debian 6 1.Vim打开Nginx配置文件 v ...

  9. 在windows、linux中开启nginx的Gzip压缩大大提高页面、图片加载速度转

    为了降低tomcat服务的压力,把页面上的图片采用windows版的nginx进行加载,由于有些图片比较大,加载特别的慢,所以在nginx中打开了gzip的压缩功能.加载图片的速度快了很多. 通过站长 ...

最新文章

  1. 避不开的算法,如何吃透?
  2. 为什么程序return -1或exit(-1)而获取到的值是255
  3. 蒙特卡罗(Monte Carlo)方法
  4. 外媒分析:iPhone销量低于预期是中国市场疲软影响的
  5. Linux程序内存跟踪,分享一款Linux进程和内存活动监视神器
  6. _临武县组合式桥梁伸缩缝F型伸缩缝—批发
  7. 计算机术语列是,计算机术语-RAM ROM
  8. [svn] 解决SVN冲突攻略(手册)
  9. 独家 | Face++印奇:AI是场持久战,但第一阶段明年结束
  10. 、简述global关键字的作用_二十三、Python变量作用域(局部变量和全局变量)
  11. c语言实验——G-鞍点计算
  12. HttpClient的使用与连接资源释放
  13. [ZT]毁人不倦的应试教育(2)
  14. scala linearization
  15. 微信小程序上传Excel文本文件功能
  16. 2017 计算机 暑期学校,科学网-2018,17年数学统计学计量经济暑期学校汇总-张慧铭的博文...
  17. 谭浩强版c语言笔记(1)
  18. 最简单的视频网站(JavaEE+FFmpeg)
  19. ShopXO开源电商系统源码支持PC+H5支付宝小程序微信小程序百度小程序头条amp;抖音小程序QQ小程序APP等
  20. open3d高级API精确控制旋转和移动的视角

热门文章

  1. linux下软件的基本安装和卸载 法一
  2. 我们在雪地撒野——51cto众人滑雪图片集
  3. Spring Rmi配置
  4. ----icon moon追加新字体图标----
  5. 启动hbase后hregionserver没有启动
  6. kaggle 相关知识汇总(转载+自己整理)
  7. ubuntu下面的chrome浏览器增加标题栏
  8. python 面向对象编程:类和实例
  9. 深度学习(十五)——SPPNet, Fast R-CNN
  10. 竞价点击软件_百度的关键词竞价广告:百度竞价广告关键词怎么设置?28法则是什么?...