开启Nginx的gzip压缩功能详解

转载 2015年07月08日 18:46:10
默认情况下,Nginx的gzip压缩是关闭的, gzip压缩功能就是可以让你节省不少带宽,但是会增加服务器CPU的开销哦,Nginx默认只对text/html进行压缩 ,如果要对html之外的内容进行压缩传输,我们需要手动来调。

开启gzip的指令如下:

 代码如下 复制代码

gzip on;
gzip_http_version 1.0;
gzip_disable "MSIE [1-6].";
gzip_types text/plain application/x-javascript text/css text/javascript;

关于gzip_types,如果你想让图片也开启gzip压缩,那么用以下这段吧:

gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php image/jpeg image/gif image/png;

网站开启gzip压缩,不仅能够节省带宽,也能够快速响应用户的访问,在nginx中,开启gzip压缩的方法为:
gzip on;      (启用 gzip 压缩功能)

    gzip_proxied any;  (nginx 做前端代理时启用该选项,表示无论后端服务器的headers头返回什么信息,都无条件启用压缩)

    gzip_min_length  1024; (最小压缩的页面,如果页面过于小,可能会越压越大,这里规定大于1K的页面才启用压缩)

    gzip_buffers     4 8k; (设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流)

    gzip_comp_level 3; (压缩级别,1压缩比最小处理速度最快,9压缩比最大但处理最慢,同时也最消耗CPU,一般设置为3就可以了)

    gzip_types       text/plain text/css application/x-javascript application/javascript application/xml; (什么类型的页面或文档启用压缩)


注意:

1. 其中的gzip_http_version的设置,它的默认值是1.1,就是说对HTTP/1.1协议的请求才会进行gzip压缩
如果我们使用了proxy_pass进行反向代理,那么nginx和后端的upstream server之间是用HTTP/1.0协议通信的
This module makes it possible to transfer requests to another server.
It is an HTTP/1.0 proxy without the ability for keep-alive requests yet. (As a result, backend connections are created and destroyed on every request.) Nginx talks HTTP/1.1 to the browser and HTTP/1.0 to the backend server. As such it handles keep-alive to the browser.
如果我们使用nginx通过反向代理做Cache Server,而且前端的nginx没有开启gzip
同时,我们后端的nginx上没有设置gzip_http_version为1.0,那么Cache的url将不会进行gzip压缩
 
2. gzip_disable的设置是禁用IE6的gzip压缩,又是因为杯具的IE6
IE6的某些版本对gzip的压缩支持很不好,会造成页面的假死,今天产品的同学就测试出了这个问题
后来调试后,发现是对img进行gzip后造成IE6的假死,把对img的gzip压缩去掉后就正常了
为了确保其它的IE6版本不出问题,所以就加上了gzip_disable的设置

网页性能优化开启Nginx的 gzip 压缩功能

开启网站的 gzip 压缩功能,通常可以高达70%,也就是说,如果你的网页有30K,压缩之后就变成9K, 对于大部分网站,显然可以明显提高浏览速度(注:需要浏览器支持)。 测试工具: google ...
  • li_mancheng
  • li_mancheng
  • 2017年05月15日 17:39
  • 193

nginx 开启 gzip压缩的一个忽略地方

使用nginx已经开启了gzip,Google检测提醒需要开启gzip,一直觉得不可思议。 找了很久,才发现,自己虽然开启了gzip,但是gzip默认是指针对text/plain ,不包括CSS/J...
  • default7
  • default7
  • 2017年06月30日 18:14
  • 482

nginx 使用gizp压缩提高网站的传输速度

网站的css,js ,xml,html 在传输的时候可以使用gzip压缩,提高访问速度, 网站上的图片,视频等其它多媒体文件,因为压缩效果不好,所以对于图片没有必要支压缩, 如果想要优化,可以图片的生...
  • hjh15827475896
  • hjh15827475896
  • 2016年12月02日 11:16
  • 2490

nginx 开启 gzip压缩、https记忆

安装网站LNMP架构,开启 gzip 节省资源带宽,HTTPS让用户浏览器记忆: 修改 vim /etc/nginx/nginx.conf gzip on; gzip_comp_level 5; g...
  • default7
  • default7
  • 2017年09月12日 15:12
  • 227

Nginx 配置gzip,压缩js\css

gzip(GNU-ZIP)是一种压缩技术。经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用户浏览页面的时候速度会块得多。gzip 的压缩页面需要浏览器和服务器双方都支持,实际上就是服务...
  • lushijie5516
  • lushijie5516
  • 2013年09月17日 13:05
  • 2193

nginx系列之gzip模块的用法和测评

1、前言2、指令说明gzip压缩功能要启用,必须满足以下几个条件: 客户端发送的HTTP报头必须含有 “Accept-Encoding” 字段,且其值包含 “gzip” 这个压缩类型。一般浏览器都会发...
  • chunyuan314
  • chunyuan314
  • 2017年02月21日 21:48
  • 2154

开启Nginx的gzip压缩功能详解

1)、检查Linux下Nginx是否已安装或安装是否成功:ps -aux | grep nginx 2)、
  • czf2008700
  • czf2008700
  • 2013年10月23日 14:04
  • 2212

Apache httpd 2.4.27开启GZIP压缩功能

转载自素文宅博客:https://blog.yoodb.com/yoodb/article/detail/1373 HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的文件压缩算法,现在的...
  • afreon
  • afreon
  • 2017年07月26日 09:16
  • 669

Nginx Gzip模块启用和配置指令详解

一、Nginx中的gzip的设置参数 # 开启gzip压缩服务 gzip on; # gzip压缩是要申请临时内存空间的,假设前提是压缩后大小是小于等于压缩前的。 # 例如,如果原始文件大小为...
  • liupeifeng3514
  • liupeifeng3514
  • 2018年01月09日 22:32
  • 106

服务器端如何开启GZIP压缩功能

我们知道做好负载均衡对网站的正常运行,用户体验相当重要。在负载均衡中有一个必须要做的事情就是给服务器开启GZIP压缩功能,对用户请求的页面进行压缩处理,以达到节省网络带宽,提高网站速度的作用。 ...
  • u010552788
  • u010552788
  • 2016年04月03日 21:16
  • 1507
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:开启Nginx的gzip压缩功能详解
举报原因:
原因补充:

(最多只允许输入30个字)