nginx开启gzip压缩教程

添加位置:

在默认配置文件(nginx/conf/nginx.conf)中搜gzip,加在对应的位置添加或完善如下配置:

 代码如下 复制代码

gzip  on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_comp_level 3;
gzip_types text/plain text/xml text/css application/x-javascript application/xml application/xml+rss text/javascript application/atom+xml;
gzip_vary off;
gzip_disable "MSIE [1-6].";

说明:

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.111cn.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的设置

时间: 2024-09-24 00:05:48

nginx开启gzip压缩教程的相关文章

Nginx 开启gzip压缩(图片,文件,css)

1.Vim打开Nginx配置文件 vim /usr/local/nginx/conf/nginx.conf 2.找到如下一段,进行修改 gzip on; gzip_min_length 1k; gzip_buffers 4 16k; #gzip_http_version 1.0; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml text/javascript ap

Nginx开启gzip压缩(非常完美)

在服务器Nginx开启gzip压缩是优化网站性能的方法之一,可以有效减少服务器带宽的消耗,缺点是会增大CPU的占用率,但是很多时候CPU往往是空闲最多的. 引用nginx官网的介绍: The ngx_http_gzip_module module is a filter that compresses responses using the "gzip" method. This often helps to reduce the size of transmitted data by

Nginx开启gzip压缩功能

下面的指令为开启Gzip的指令  代码如下 复制代码 gzip on; gzip_http_version 1.0; gzip_disable "MSIE [1-6]."; gzip_types text/plain application/x-javascript text/css text/javascript; 如果要能够是Nginx开启图片压缩功能,在配置文件中添加如下代码:  代码如下 复制代码 gzip_types text/plain application/x-java

Nginx 开启Gzip压缩的方法(非常的详解)

查看ngix编译参考,是否启用了gzip模块,运行命令:  代码如下 复制代码 /path/to/binary/nginx -V (我的nginx在PATH目录里,故命令中可以省略nginx所在的目录),写为nginx -t 即可,下文从略写 注意其中是否 --with-http_gzip_static_module,如果没有,那就自己编译一次吧,下面是我的配置参数,供参考.最后的--add-module=../nginx-lib/nginx-upload-progress-module-v0.

开启Nginx的gzip压缩功能详解

开启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 t

php简单开启gzip压缩方法(zlib.output_compression)_php技巧

一般而言,页面文件开启gzip压缩以后,其体积可以减小60%~90%,对于文字类站点,可以节省下大量的带宽与用户等待时间.但是不论是iis还是apache默认都只压缩html类静态文件,对于php文件需要模块配置才可支持(iis7.5中开启动态+静态压缩也可以),于是利用php自身功能到达gzip的效果也成为一项合理的诉求. 网上的教程基本是你抄我来我抄他,不外乎加头加尾或者自构函数两种写法.实际上每个php页面都要去加代码--当然也可以include引用,不过总显得略微麻烦. 实际上最简单的办

Nginx启用Gzip压缩模块进行网页压缩

Nginx的gzip模块是内置的,在http中添加如下配置 gzip on; gzip_min_length  5k; gzip_buffers     4 16k; gzip_http_version 1.0; gzip_comp_level 3; gzip_types       text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/

连接-空间中的网站怎么开启GZIP压缩

问题描述 空间中的网站怎么开启GZIP压缩 我的网站放在空间中,只能用FTP连接,我该怎么修改GZIP压缩呢? 解决方案 直接问提供你空间的运营商.你缴的费用中就包括了售后服务,不问白不问.

IIS开启GZIP压缩的方法及失败的解决方案

本文讲解了详细的IIS下配置GZIP压缩的方法,以及正确配置后,仍然无法正常开启GZIP压缩的解决方案,这些经验都是本站作者在实际操作中总结出来的,分享一下... 开启GZIP压缩有一个快捷的方法,把下面内容复制粘贴到记事本,存成gzip.bat,然后放到C:\Inetpub\AdminScripts  目录(目录内有adsutil.vbs文件),执行就自动开启GZIP的配置,而不用手工去做. [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行] 下面再介绍手工配置的方法: 1. 打开