Gzip技术已经被非常广泛的应用,基本上所有稍微具规模的网站门户都开启了。同时这也是搜索引擎判断网址的友好程度标尺之一。之前一直没有重视,并误以为Gzip必须改PHP程序来打开,最近无意间才发现自己的部分网站还没有开启Gzip。
其实Gzip可以由web组件打开。 个人比较喜欢用Lighttpd,在此介绍Lighttpd的方法:
- lighttpd自带gzip,配置gzip主要是使用compress模块
- 激活compress模块,将
lighttpd.conf
文件的mod_compress的注释(#)去掉 - 配置压缩文件存放目录compress.cache-dir,注意运行lighttpd的用户需要有这个目录的读写权限,压缩文件的类型compress.filetype
- 将动态生成的php也gzip,修改
php.ini
,加上zlib.output_compression = On和zlib.output_handler = On - 重启lighttpd
实例如下:
1 2 3 4 5 6 7 8 |
$HTTP["host"] =~ "www.xxxx.com" { #其他配置信息 compress.cache-dir = "/home/flymouse/lighttpd/compress/" compress.filetype = ("text/plain", "text/html", "application/x-javascript", "text/css", "application/javascript", "text/javascript") } |
配置完后重启lighttpd,然后用站长工具看下是否开启吧
或直接用F12调试工具观察:
在这里我们可以看到。本来20k的网页,压缩成了8k进行传输。
F12的文件头部分析里也会出现Content-Encoding: gzip
,代表页面采用了gzip压缩
PS:PHP开gzip有两种方式,整站开启或函数开启,两者不可同时打开
否则报错。