Nginx 笔记与总结(13)Nginx 的 gzip 压缩
使用 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 压缩相关推荐
- Nginx笔记总结十六:nginx优化指南
1.高层的配置 worker_processes 定义了nginx对外提供web服务时的worker进程数 worker_rlimit_nofile 更改worker进程最大打开文件数量限制,如果没有 ...
- 《Python Cookbook 3rd》笔记(5.13):读写压缩文件
获取文件夹中的文件列表 问题 你想获取文件系统中某个目录下的所有文件列表. 解法 使用 os.listdir() 函数来获取某个目录中的文件列表: import os names = os.listd ...
- Nginx - 正反向代理,nginx.conf配置
Nginx (engine x) 是一个轻量级的高性能的HTTP和反向代理web服务器及电子邮件(IMAP/POP3)代理服务器. Nginx 是由俄罗斯人 Igor Sysoev 采用C语言开发编写 ...
- Nginx笔记系列(1)——Nignx的安装部署
2019独角兽企业重金招聘Python工程师标准>>> Nginx百科 服务器(软件)你能一口气说出几个?从当年"蹒跚学步"学java时开始用 Tomcat,到& ...
- Nginx优化与防盗链(隐藏版本号、配置缓存时间、日志分割、修改进程数、配置连接超时、使用gzip压缩页面、防盗链设置,fpm优化)
文章目录 隐藏Nginx版本号 网页压缩 网页压缩配置 网页缓存时间 网页缓存时间设置 更改Nginx运行进程数 连接超时 nginx防盗链设置 盗链网站 配置httpd 日志分割 fpm参数优化 隐 ...
- Linux实战教学笔记37:企业级Nginx Web服务优化实战(上)
一,Nginx基本安全优化 1.1 调整参数隐藏Nginx软件版本号信息 一般来说,软件的漏洞都和版本有关,这个很像汽车的缺陷,同一批次的要有问题就都有问题,别的批次可能就都是好的.因此,我们应尽量隐 ...
- Nginx 笔记与总结(3)配置虚拟主机
Nginx 重启的另外一种方式,相当于 kill -HUP `cat /usr/local/nginx/logs/nginx.pid`: /usr/local/nginx/sbin/nginx -s ...
- nginx 开启gzip压缩--字符串压缩比率很牛叉
刚刚给博客加了一个500px相册插件,lightbox引入了很多js文件和css文件,页面一下子看起来非常臃肿,所以还是把Gzip打开了. 环境:Debian 6 1.Vim打开Nginx配置文件 v ...
- 在windows、linux中开启nginx的Gzip压缩大大提高页面、图片加载速度转
为了降低tomcat服务的压力,把页面上的图片采用windows版的nginx进行加载,由于有些图片比较大,加载特别的慢,所以在nginx中打开了gzip的压缩功能.加载图片的速度快了很多. 通过站长 ...
最新文章
- 避不开的算法,如何吃透?
- 为什么程序return -1或exit(-1)而获取到的值是255
- 蒙特卡罗(Monte Carlo)方法
- 外媒分析:iPhone销量低于预期是中国市场疲软影响的
- Linux程序内存跟踪,分享一款Linux进程和内存活动监视神器
- _临武县组合式桥梁伸缩缝F型伸缩缝—批发
- 计算机术语列是,计算机术语-RAM ROM
- [svn] 解决SVN冲突攻略(手册)
- 独家 | Face++印奇:AI是场持久战,但第一阶段明年结束
- 、简述global关键字的作用_二十三、Python变量作用域(局部变量和全局变量)
- c语言实验——G-鞍点计算
- HttpClient的使用与连接资源释放
- [ZT]毁人不倦的应试教育(2)
- scala linearization
- 微信小程序上传Excel文本文件功能
- 2017 计算机 暑期学校,科学网-2018,17年数学统计学计量经济暑期学校汇总-张慧铭的博文...
- 谭浩强版c语言笔记(1)
- 最简单的视频网站(JavaEE+FFmpeg)
- ShopXO开源电商系统源码支持PC+H5支付宝小程序微信小程序百度小程序头条amp;抖音小程序QQ小程序APP等
- open3d高级API精确控制旋转和移动的视角