gzip (GNU-ZIP) 是一种压缩技术。经过 gzip 压缩后页面大小可以变为原来的 30%甚至更小。 这样,用户浏览页面的时候速度会快得多。  gzip 的压缩页面需要浏览器和服务器双方都支持,实 际上就是服务器端压缩,传到浏览器后浏览器解压并解析。浏览器那里不需要我们担心,因为 IE、 Firefox 、Opera 、Chrome 等绝大多数浏览器都支持解析 gzip 过的页面。

压缩好处:将响应报⽂发送⾄客户端之前可以启⽤压缩功能,这能够有效地节约带宽,并提⾼响应⾄客户端的速度,压缩会消耗nginx的cpu性能。

一、开启gzip

gzip压缩可以配置在http,server和location模块下,Nginx 的压缩输出由一组 gzip 压缩指令来实现。

Vim打开Nginx配置文件

vim /usr/local/nginx/conf/nginx.conf
gzip on;                                 //开启gzip压缩
gzip_min_length 1k; //不压缩临界值,大于1K的才压缩,一般不用改
gzip_buffers 16k; //压缩缓存,也不用改
gzip_http_version 1.1; //压缩协议版本,用了反向代理的话,末端通信是HTTP/1.0,默认是HTTP/1.1
gzip_comp_leve1 ; //压缩级别,1-10,数字越大压缩的越好,时间也越长
gzip_types text/p1ain app1ication/x-javascript text/css app1ication/xml; //进行压缩的文件类型,缺啥补啥就行,JavaScript有两种写法,最好都写上吧,总有人抱怨js文件没有压缩,其实多写一种格式就行了
gzip_vary on; //跟Squid等缓存服务有关,on的话会在Header里增加"Vary: Accept-Encoding"
gzip_disable "MSIE [1-6]\."; //IE6对Gzip不怎么友好,不给它Gzip了

二、:wq保存退出,重新加载Nginx

/usr/local/nginx/sbin/nginx -s reload

三、用curl测试Gzip是否成功开启

curl -I -H "Accept-Encoding: gzip, deflate" "http://www.slyar.com/blog/"

HTTP/1.1  OK
Server: nginx/1.0.
Date: Sun, Aug :: GMT
Content-Type: text/html; charset=UTF-
Connection: keep-alive
X-Powered-By: PHP/5.2.17p1
X-Pingback: http://www.slyar.com/blog/xmlrpc.php
Content-Encoding: gzip

页面成功压缩

curl -I -H "Accept-Encoding: gzip, deflate" "http://www.slyar.com/blog/wp-content/plugins/photonic/include/css/photonic.css"

HTTP/1.1  OK
Server: nginx/1.0.
Date: Sun, Aug :: GMT
Content-Type: text/css
Last-Modified: Sun, Aug :: GMT
Connection: keep-alive
Expires: Mon, Aug :: GMT
Cache-Control: max-age=
Content-Encoding: gzip

css文件成功压缩

curl -I -H "Accept-Encoding: gzip, deflate" "http://www.slyar.com/blog/wp-includes/js/jquery/jquery.js"

HTTP/1.1  OK
Server: nginx/1.0.
Date: Sun, Aug :: GMT
Content-Type: application/x-javascript
Last-Modified: Thu, Jul :: GMT
Connection: keep-alive
Expires: Mon, Aug :: GMT
Cache-Control: max-age=
Content-Encoding: gzip

js文件成功压缩

curl -I -H "Accept-Encoding: gzip, deflate" "http://www.slyar.com/blog/wp-content/uploads/2012/08/2012-08-23_203542.png"

HTTP/1.1  OK
Server: nginx/1.0.
Date: Sun, Aug :: GMT
Content-Type: image/png
Last-Modified: Thu, Aug :: GMT
Connection: keep-alive
Expires: Tue, Sep :: GMT
Cache-Control: max-age=
Content-Encoding: gzip

图片成功压缩

curl -I -H "Accept-Encoding: gzip, deflate" "http://www.slyar.com/blog/wp-content/plugins/wp-multicollinks/wp-multicollinks.css"

HTTP/1.1  OK
Server: nginx/1.0.
Date: Sun, Aug :: GMT
Content-Type: text/css
Content-Length:
Last-Modified: Sat, May :: GMT
Connection: keep-alive
Expires: Mon, Aug :: GMT
Cache-Control: max-age=
Accept-Ranges: bytes

最后来个不到1K的文件,由于我的阈值是1K,所以没压缩

Nginx(四):压缩功能详解的更多相关文章

  1. 开启Nginx的gzip压缩功能详解

    默认情况下,Nginx的gzip压缩是关闭的, gzip压缩功能就是可以让你节省不少带宽,但是会增加服务器CPU的开销哦,Nginx默认只对text/html进行压缩 ,如果要对html之外的内容进行 ...

  2. 【转】nginx服务器安装及配置文件详解

    原文:http://seanlook.com/2015/05/17/nginx-install-and-config/ nginx服务器安装及配置文件详解 nginx在工作中已经有好几个环境在使用了, ...

  3. [转帖]nginx服务器安装及配置文件详解

    nginx服务器安装及配置文件详解 http://seanlook.com/2015/05/17/nginx-install-and-config/  发表于 2015-05-17 |  更新于: 2 ...

  4. nginx入门与实战 安装 启动 配置nginx Nginx状态信息(status)配置 正向代理 反向代理 nginx语法之location详解

    nginx入门与实战 网站服务 想必我们大多数人都是通过访问网站而开始接触互联网的吧.我们平时访问的网站服务 就是 Web 网络服务,一般是指允许用户通过浏览器访问到互联网中各种资源的服务. Web ...

  5. 【第六课】Nginx常用配置下详解

    目录 Nginx常用配置下详解 1.Nginx虚拟主机 2.部署wordpress开源博客 3.部署discuz开源论坛 4.域名重定向 5.Nginx用户认证 6.Nginx访问日志配置 7.Ngi ...

  6. Nginx简介及配置文件详解

    http://blog.csdn.net/hzsunshine/article/details/63687054 一 Nginx简介    Nginx是一款开源代码的高性能HTTP服务器和反向代理服务 ...

  7. Nginx 主配置文件参数详解

    Nginx 主配置文件参数详解 Nginx 安装完毕后,会有响应的安装目录,安装目录里 nginx.conf 为 nginx 的主配置文件, ginx 主配置文件分为 4 部分,main(全局配置). ...

  8. Nginx安装及配置详解【转】

    nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外 ...

  9. [转帖]Nginx安装及配置详解 From https://www.cnblogs.com/zhouxinfei/p/7862285.html

    Nginx安装及配置详解   nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP ...

随机推荐

  1. ScrollView嵌套EditText联带滑动的解决的方法

    本篇文章的相关内容需结合上文:从ScrollView嵌套EditText的滑动事件冲突分析触摸事件的分发机制以及TextView的简要实现和冲突的解决的方法 在说完了怎样解决ScrollView嵌套E ...

  2. 〖Linux〗ADT_Bundle配置

    1. 配置自动补全: Windows -> preferences -> 搜索assist,修改 java xml自动触发补全:.abcdefghijklmnopqrstuvwxyzABC ...

  3. python 什么叫迭代

    # -*- coding: cp936 -*- #xiaodeng #python 27 #什么叫迭代 #如果给定一个list/tuple,可以通过for循环遍历出来,这种遍历我们称之为迭代 #案例3 ...

  4. Path画直线与弧线

    代码地址如下:http://www.demodashi.com/demo/14754.html 前言 之前讲过Paint和Canvas的基本使用,今天来介绍下Path的使用 涉及内容有: Path画直 ...

  5. Delphi2010怎样获取程序内部自身版本?

    用原来的GetFileVersionInfo仅仅能获取Delpi7的程序版本,用在Delphi2010中就无论用了 //------ 获取文件版本 function F_GetFileVersion( ...

  6. ios中键盘处理适合ipad 和iphone

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWasShown:) name:UI ...

  7. React(0.13) hello world

    <!DOCTYPE html> <html> <head> <title>React JS</title> <script src=& ...

  8. jQuery 自定义网页滚动条样式插件 mCustomScrollbar 的介绍和使用方法(转)

    系统默认的滚动条样式,真的已经看的够恶心了.试想一下,如果在一个很有特色和创意的网页中,出现了一根系统中默认的滚动条样式,会有多么的别扭. 为了自己定义网页中的滚动条的方法,我真的已经找了很久了,就目 ...

  9. 【C语言】练习1-21

    题目来源:<The C programming language>中的习题 练习1-21:编写程序entab,将空格串替换为最好数量的制表符和空格,但要保持单词之间的间隔不变. 思路: 对 ...

  10. @property的使用方法

    参看廖大神的博客 使用@property 有时间整理一下. python 没有私有成员变量的概念,通常在变量前面加单/双下划线来表示私有变量(非共有变量). 通常在python中,以单下划线开始的成员 ...