今天为大家演示一样好东西,呵呵,这个东西只适合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  ,媒体播放器不能播放 。

好了, 视频演示到这里,谢谢大家观看!!!


“配置apache自带mod_deflate压缩网页和静态文件提高网站速度 节省流量”没有评论

有任何疑问或建议,可以给作者留言:



公告:

  • 2010年5月之前的视频是文字解说演示,没有声音。
  • 2010年5月以后的视频全部带声音。