
今天为大家演示一样好东西,呵呵,这个东西只适合apache用户了。。。
apache自带mod_deflate压缩模块来压缩网页以及静态文件等,
这样不但可以提高网站速度,还可以节省流量,其实就是把文件先压缩再传送到
浏览网站的用户上,但是并不是所有文件都可以压缩的,有些文件压缩了无法正常使用,
这个问题在最后我会提醒一下,具体哪些文件。
=====================
为了可以对比,使用前和使用后的效果,
我先安装一个叫做:httpwatch 的软件,它可以查看浏览当前网站文件的大小,类型等等。
很方便, 那么在apache没有使用压缩前我们先把查看的数据 记录下来 先吧。
httpwatch 这个软件我们先安装一下,我会在文章最后提供下载链接。
安装完,它会打开一个网页是教我们如何使用的,这个我就不看了,我也会演示给大家看。
好了, 现在打开 ie 浏览器,浏览一下apahce在没有使用压缩的情况。
就是这样使用 IE浏览器 -> 查看 -> 浏览器栏 -> HttpWatch
这样就可以看到 httpwatch 在浏览器下方了。
为了看到更好,更真实效果,先吧脱机文件全部删除掉。
然后,点击 httpwatch 的 Record 按钮,进行监听。
然后我们浏览网站吧。看到了吧,这是我做的一个测试页面
里面有 jpg 文件, js文件, (js就是javascript 脚本文件)。
时间 文件大小 文件类型 访问文件URL路径
0.114 467 GET 200 text/html http://192.168.1.118/index.html
0.092 49802 GET 200 application/x-javascript http://192.168.1.118/test.js
0.081 26299 GET 200 image/jpeg http://192.168.1.118/logo.jpg
上面是没有进行压缩情况,
=======================================
下面我们为 apache 安装压缩模块mod_deflate
这个模块是apache自带的,在编译apache源代码中可以找到。
下面开始编译。。。注意下面的路径,根据自己的情况进行修改。
/usr/local/apache2/bin/apxs -i -c /opt/httpd-2.2.8/modules/filters/mod_deflate.c
好了,编译完成,执行下面语句。
chmod 755 /usr/local/apache2/modules/mod_deflate.so
然后修改/etc/httpd.conf,加入以下内容:
修改2个地方,
第一加入刚才编译好的模块
LoadModule deflate_module modules/mod_deflate.so
第二就是根据具体情况进行配置,下面这个内容放到最后面。
<Location />
# Insert filter
SetOutputFilter DEFLATE
# Netscape 4.x has some problems...
BrowserMatch ^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4.0[678] no-gzip
# MSIE masquerades as Netscape, but it is fine
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# Don't compress images
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
# Make sure proxies don't deliver the wrong content
# Header命令不对?注释这一行
# Header append Vary User-Agent env=!dont-vary
</Location>
有个地方 我要特别说明一下
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
gif|jpe?g|png 这里表示 gif jpg png 这些图片文件不被压缩,
如果你还有其他文件不被压缩就写进去 例如 mp3 ,那么就这样写.(?:gif|jpe?g|png|mp3)$
我打算压缩 jpg ,所以去掉 jpe?g 。看我修改。
保存文件, 重启apache即可生效。
=========================================
好了,我们在浏览一下 ,对比刚才情况吧。
注意,先删除脱机文件。
下面是使用了压缩模块的结果数据。
时间 大小 文件类型 文件URL访问路径
0.013 503 GET 200 text/html http://192.168.1.118/index.html
0.097 11160 GET 200 application/x-javascript http://192.168.1.118/test.js
0.011 24903 GET 200 image/jpeg http://192.168.1.118/logo.jpg
和刚才对比, js文件 相当明显,刚才的 49802字节(约49KB) 变成 11160字节(约11KB)
jpg图片变化 26299字节(约26KB) 变成 24903字节(约24KB)。
图片方面还要看具体情况,有些图片压缩效果不明显。
好了,最后要说明一下哪些文件不能压缩,如果你压缩就会不能正常使用的情况。
注意多媒体方面,例如如果 压缩 mp3 ,媒体播放器不能播放 。
好了, 视频演示到这里,谢谢大家观看!!!