Nginx开启Gzip压缩大幅提高页面加载速度及相关测试

源:http://www.slyar.com/blog/nginx-gzip-compressed.html

评:增加一个contenttypeapplication/javascript

文章作者:姜南(Slyar)文章来源:SlyarHome(www.slyar.com)转载请注明,谢谢合作。

刚刚给博客加了一个500px相册插件,lightbox引入了很多js文件和css文件,页面一下子看起来非常臃肿,所以还是把Gzip打开了。

环境:Debian6

1、Vim打开Nginx配置文件

vim/usr/local/nginx/conf/nginx.conf

2、找到如下一段,进行修改

gzipon;

gzip_min_length1k;

gzip_buffers416k;

#gzip_http_version1.0;

gzip_comp_level2;

gzip_typestext/plainapplication/x-javascriptapplication/javascripttext/cssapplication/xmltext/javascriptapplication/x-httpd-phpimage/jpegimage/gifimage/png;

#gzip_varyoff;

gzip_disable"MSIE[1-6]\.";

3、解释一下

第1行:开启Gzip

第2行:不压缩临界值,大于1K的才压缩,一般不用改

第3行:buffer,就是,嗯,算了不解释了,不用改

第4行:用了反向代理的话,末端通信是HTTP/1.0,有需求的应该也不用看我这科普文了;有这句的话注释了就行了,默认是HTTP/1.1

第5行:压缩级别,1-10,数字越大压缩的越好,时间也越长,看心情随便改吧

第6行:进行压缩的文件类型,缺啥补啥就行了,JavaScript有两种写法,最好都写上吧,总有人抱怨js文件没有压缩,其实多写一种格式就行了

第7行:跟Squid等缓存服务有关,on的话会在Header里增加"Vary:Accept-Encoding",我不需要这玩意,自己对照情况看着办吧

第8行:IE6对Gzip不怎么友好,不给它Gzip了

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

/usr/local/nginx/sbin/nginx-sreload

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

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

HTTP/1.1200OK

Server:nginx/1.0.15

Date:Sun,26Aug201218:13:09GMT

Content-Type:text/html;charset=UTF-8

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.1200OK

Server:nginx/1.0.15

Date:Sun,26Aug201218:21:25GMT

Content-Type:text/css

Last-Modified:Sun,26Aug201215:17:07GMT

Connection:keep-alive

Expires:Mon,27Aug201206:21:25GMT

Cache-Control:max-age=43200

Content-Encoding:gzip

css文件成功压缩

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

HTTP/1.1200OK

Server:nginx/1.0.15

Date:Sun,26Aug201218:21:38GMT

Content-Type:application/x-javascript

Last-Modified:Thu,12Jul201217:42:45GMT

Connection:keep-alive

Expires:Mon,27Aug201206:21:38GMT

Cache-Control:max-age=43200

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.1200OK

Server:nginx/1.0.15

Date:Sun,26Aug201218:22:45GMT

Content-Type:image/png

Last-Modified:Thu,23Aug201213:50:53GMT

Connection:keep-alive

Expires:Tue,25Sep201218:22:45GMT

Cache-Control:max-age=2592000

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.1200OK

Server:nginx/1.0.15

Date:Sun,26Aug201218:23:27GMT

Content-Type:text/css

Content-Length:180

Last-Modified:Sat,02May200908:46:15GMT

Connection:keep-alive

Expires:Mon,27Aug201206:23:27GMT

Cache-Control:max-age=43200

Accept-Ranges:bytes

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

相关推荐