设为首页 友情链接
在线留言 发表文章
加入收藏 广告联系

刺猬首页

| 专案技术 | 网络技术 | 图形图象 | 网络编程 | 网页设计 | 操作系统 | 服务器 | 技术白皮书 | 在线实验室 | 刺猬论坛 |
小说专版  | 数据库 | 设计赏析 | 存储频道 | 网络安全 | 私服架设 |  Solaris | 网站评估 | PC维护技巧 | 下载中心 | 博 客 |
专   题: | Linux | java | cisco | 防病毒 | 刀片 | SOA | iscsi | ASP.NET | SQL | Oracle |
您现在的位置: IT公社 IT community >> Linux专题 >> 企业应用 >> 教程正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
Linux技巧:怎样利用Put…
详解Linux安全管理的基本…
应用程序从UNIX移植到Li…
Linux使用技巧33则
应用程序从UNIX移植到Li…
Linux技巧:逐步移动分区…
sled10下载方法与技巧及…
Apache入门经验总结
安装经验:Thinkpad上安…
Linux技巧小总结
  经验技巧:如何对Apache做Web压缩 (1)           
经验技巧:如何对Apache做Web压缩 (1)
 

ccid_nobr> 目前很多企业都在网络上开展业务,处理的信息容量很大,有时不得不需要进行Web压缩。我给大家提供一个方案,不改变页面风格,但是减小Web浏览的传输数据量。

我的Web服务器是Apache,采用的压缩工具是免费软件mod_gzip,通过流量测试软件BWMeter来证实压缩比例。用mod_gzip压缩纯文本内容平均可压缩至原大小的40%以下,从而可节约60%以上的数据传输。虽然数据压缩会导致Web服务器的CPU占用率略微上升,但是可以节约大量网络I/O,提升用户浏览速度。我将一个大小为8KB的HTML文本从未经过压缩的10.4KB流量(如图1),压缩变成了5.9KB的流量(如图2)。





mod_gzip的工作原理

mod_gzip的工作原理是,当客户端请求浏览某网页后,Apache服务器将所请求的网页文件进行压缩,具体压缩是利用标准的zlib的压缩。服务器将压缩的文件下发给客户端浏览器,由客户端的浏览器负责解压缩并浏览,所以解压效果和用户的浏览器有一定关系。经过测试,它在IE 4.0到IE 6.0上,以及Netscape 4.5到Netscape 6.0上都运行得很好。

ccid_nobr> mod_gzip的安装

1.下载源程序

可以从http://sourceforge.net/下载mod_gzip的源程序,使用源程序编译生成Apache的模块(Module)。

2.解压源程序

tar -zxvf  mod_gzip-2.0.40.tar.gz

3.编译

进入源程序所在的目录进行编译,生成相应的动态链接库。编译需要指定参数APXS的相应位置:

make APXS=/apache/httpd/bin/apxs

将mod_zip安装到Apache服务器中,其中也要指定APXS的具体位置:

make install  APXS=/apache/httpd/bin/apxs

4.调用mod_gzip模块

在Apache的配置文件httpd.conf中增加LoadModule参数,调用mod_gzip模块。

LoadModule gzip_module modules/mod_gzip.so

5.测试

运行以下命令测试安装是否成功:

/apache/bin/apachectl configtest

如果出现“Syntax OK”,则说明Apache中已经成功安装上mod_gzip的压缩模块了。

ccid_nobr> Apache中关于mod_gzip的配置

修改Apache的配置文件httpd.conf:

1.增加mod_gzip模块的调用

LoadModule gzip_module modules/mod_gzip.so

2.开启压缩功能

mod_gzip_on Yes

3.设置压缩文件的最小值

mod_gzip_minimum_file_size 1000

4.设定压缩文件的最大值

mod_gzip_maximum_file_size 300000

5.设定压缩文件的临时目录

mod_gzip_temp_dir /tmp/mod_gzip

6.设定是否保持压缩的工作临时文件

mod_gzip_keep_workfiles No

7.设定各种需要压缩的文件及扩展名

mod_gzip_item_include file \.htm$
mod_gzip_item_include file \.html$
mod_gzip_item_include file \.php$
mod_gzip_item_include file \.php3$
mod_gzip_item_include mime text/.*
mod_gzip_item_include mime httpd/unix-directory

ccid_nobr> 常见问题及解决方法

1.解决调用标准zlib问题

如果在编译mod_gzip的时候没有指定zlib类库的具体位置,那么它默认路径就是/usr/local/lib,当你的zlib不在这个目录下面的时候,就会报如下错误提示:

Cannot load /httpd/modules/mod_gzip.so 
into server/httpd/modules/mod_gzip.so: 
undefined symbol: top_module (或者是deflate)

解决方法就是,在编译mod_gzip的时候,编辑Makefile文件增加两个参数,分别指向zlib的存放目录:

INC=-I/usr/include
LIB=-lz -L/usr/lib

编辑ld.so.conf文件,在其中增加存放zlib标准类库的具体目录,然后运行ldconfig。

这样更改以后,Apache就不会上述出现问题了。

2.Apache中jk2模块有可能和mod_gzip冲突

这种现象会出现在Apache2、jk2及mod_gzip2.0.40配合的时候。最简单的解决办法是,改变应用环境的版本,使用Apache1.3、jk及mod_gzip1.3配合就会避免产生这种冲突。

3.实现对servlet的压缩

我们在httpd.conf文件中增加相应的压缩配置文件,就可以实现对servlet进行压缩了。

mod_gzip_item_include handler jakarta-servlet
mod_gzip_item_include handler jakarta-servlet$
mod_gzip_item_include handler ^jakarta-servlet
mod_gzip_item_include handler ^jakarta-servlet$
mod_gzip_item_include handler ^^jakarta-servlet$

希望通过上述讲解,读者可以轻松地构造压缩的Apache服务器,更好地利用网络资源。

(T117)

频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。

原始作者:佚名 录入时间:2007-1-2 20:34:08
信息来源:不详 投稿信箱:itqoo@126.com
教程录入:itqoo    责任编辑:itqoo 
  • 上一个教程:

  • 下一个教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    - 关于我们 - 合作伙伴 - 友情链接 - 广告刊登 - 投稿热线 - 在线留言版权声明联系方式 -
    IT公社版权所有 粤ICP备05127012号
    Copyrigh@2005-2006 itqoo.com.Inc All Rights Reserved  推荐分辨率 1024*768
    联系站长:E-Mail:itqoo@126.com     MSN:urchincc@hotmail.com    QQ:点击这里给我发消息
    特别感谢:亿太网络提供空间支持