添加位置:
在默认配置文件(nginx/conf/nginx.conf)中搜gzip,加在对应的位置添加或完善如下配置:
代码如下 | 复制代码 |
gzip on; |
说明:
gzip on; (启用 gzip 压缩功能)
gzip_min_length 1k; (最小压缩的页面)
gzip_buffers 4 16k; (设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流)
gzip_http_version 1.0; (它的默认值是1.1,就是说对HTTP/1.1协议的请求才会进行gzip压缩如果我们使用了proxy_pass进行反向代理,那么nginx和后端的upstream server之间是用HTTP/1.0协议通信的)
gzip_comp_level 2; (压缩级别,1压缩比最小处理速度最快,9压缩比最大但处理最慢,同时也最消耗CPU,一般设置为2就可以了)
gzip_types text/plain application/x-javascript text/css application/xml; (什么类型的页面或文档启用压缩)
gzip_vary on; (启用应答头“Vary: Accept-Encoding”,注意,由于一个bug将导致IE 4-6无法缓存内容。)
设置好后,使用
代码如下 | 复制代码 |
./nginx/sbin/nginx -t |
检查配置文件是否有问题,没问题,reload新的配置文件
代码如下 | 复制代码 |
./nginx/sbin/nginx -s reload |
现在测试一下效果如下
curl -I -H "Accept-Encoding: gzip, deflate" "http://www.111com.net"
HTTP/1.1 200 OK
Server: nginx
Date: Tue, 17 Jul 2012 07:08:04 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Cache-Control: private
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Content-Encoding: gzip
注意:
1. 其中的gzip_http_version的设置,它的默认值是1.1,就是说对HTTP/1.1协议的请求才会进行gzip压缩
如果我们使用了proxy_pass进行反向代理,那么nginx和后端的upstream server之间是用HTTP/1.0协议通信的
如果我们使用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的设置
茶杯头甜蜜终章dlc 官方手机版v1.0.0.3
下载火柴人传说暗影格斗内置菜单 最新版v3.0.1
下载荒野乱斗测试服 安卓版v61.10.3
下载荒野乱斗彩虹服 安卓版v61.10.3
下载寒霜启示录 安卓版v1.25.10
寒霜启示录是一款生存模拟游戏,不少玩家可能对于末日都有着自己
末日城堡免广告版 安卓最新版v0.7.1
末日城堡免广告版是一款非常好玩的模拟经营类游戏,内部可以不看
甜蜜人生模拟器 最新版v1.4.5
甜蜜人生模拟器是一款非常好玩的模拟恋爱手游,玩家在这里能够对
武器锻造师内置功能菜单 v10.4
武器锻造师内置菜单版是游戏的破解版本,在该版本中为玩家提供了
开放空间overfield 安卓版v1.0.5
开放空间Overfield是一款箱庭养成经营手游,让你在广阔