当前位置:web 服务器 > Apache >>

Apachemod_gzip模块安装手记

说明

  Apache 的 mod_gzip 号称互连网内容加速模块,可以将网络传输速度压缩到未压缩时的 1/4。

  在mod_gzip出现之前,是怎麽状况?

  我们知道,HTTP 1.1 已经支持 content encoding,就是可以将 html 的内容压缩传输。而在服务器端有两种方式对应,一种是 pre-compressing,先压缩好,再提供传输,静态网页多的话可以这麽做,但是现在站点都是动态内容,用户浏览器没有请求时,那个网页甚至是不存在的。

  因此,当实时调用动态网页时,速度一般是很慢的。为了解决这个问题,一般采取 Cache,但是服务器端给的还是同样大小的文件,除非能够进行一种“实时”的压缩,把压缩过的动态内容传给用户。

  可惜,不论是 Apache、Microsoft 的 IIS、IBM's WebSphere Server 的缺省都不支持这种动态内容的实时压缩。流行的 SQUID Proxy-Caching Server 也没有压缩数据的能力。

  mod_gzip 提供的正是这种能力,它可以把无论动态还是静态的内容,无论 HTML、XML,还是 SQL, Java, WML, VRML 等产生的内容在服务器端,进行实时压缩并传输,而不需要在客户端安装任何东西。

  它是一个开放源代码的、标准的 Apache 模块,源代码程序只有 300K,安装非常容易,这意味著可以在 5 分钟内,使你的站点提速 75% !

  安装

  下载最新的mod_gzip 版本:

  mod_gzip v 1.3.19.1a - 03/08/01

  mod_gzip.c

  添加 Apache 模块

  apxs -i -a -c mod_gzip.c

  (apxs 参考: http://httpd.apache.org/docs/programs/apxs.html ,一般在 apache-devel 包)

  配置 httpd.conf (/etc/httpd/conf/httpd.conf)

  # Dynamic Shared Object (DSO) Support

  LoadModule gzip_module modules/mod_gzip.so

  AddModule mod_gzip.c

  添加到文件最後: (只是一个参考,你可以按照你的需要修改)

  mod_gzip_on yes

  mod_gzip_dechunk yes

  mod_gzip_keep_workfiles No

  mod_gzip_temp_dir /tmp

  mod_gzip_minimum_file_size 1002

  mod_gzip_maximum_file_size 0

  mod_gzip_maximum_inmem_size 1000000

  mod_gzip_item_include file .htm$

  mod_gzip_item_include file .jpg$

  mod_gzip_item_include file .gif$

  mod_gzip_item_include file .html$

  mod_gzip_item_include mime text/.*

  mod_gzip_item_include file .php$

  mod_gzip_item_include mime "jserv-servlet"

  mod_gzip_item_include handler "jserv-servlet"

  mod_gzip_item_include mime "application/x-httpd-php.*"

  mod_gzip_item_include mime httpd/unix-directory

  mod_gzip_item_exclude file ".css$"

  mod_gzip_item_exclude file ".js$"

  mod_gzip_item_exclude file ".wml$"

  LogFormat "%h %l %u %t "%V %r" %>s %b mod_gzip: %{mod_gzip_result}n In:%{mod_gzip_input_size}n Out:%{mod_gzip_output_size}n:%{mod_gzip_compression_ratio}npct." common_with_mod_gzip_info2

  CustomLog /var/log/httpd/mod_gzip common_with_mod_gzip_info2

  加速显示结果分析

  上面的 LogFormat、CustomLog将结果写在了log文件:

  ...

  GET /ubb/Forum3/HTML/000007.html HTTP/1.1" 200 4338 mod_gzip: OK In:18524 Out:4338:77pct.

  GET /ubb/icons/icon7.gif HTTP/1.1" 304 - mod_gzip: SEND_AS_IS:NO_200 In:0 Out:0:0pct.

  GET /news/article.php?id=22 HTTP/1.1" 200 6414 mod_gzip: DECHUNK:OK In:25372 Out:6414:75pct.

  ...

  可以看出:

  htm In:18524 Out:4338:77pct.

  .gif In:0 Out:0:0pct.

  .php?id=XXX In:25372 Out:6414:75pct.

  压缩後约为压缩前的 1/4, .gif 没有压缩。(因为它本身就是压缩格式)

  意义

  宽带、IDC、Cache 内容加速等等,都是基于一种“正”的思考,最终用户的最後一公里总是很难受;然而带宽上传输的是什麽呢?是数据。 用最简单的方式把数据减到最少,这就是 mod_gzip。

  Thanks: Snow Wolf

  HTTP Compression Speeds up the Web

  HyperSpace Co. 本文来自:http://www.xiaoyaxiao.com/1983.html
发表您的高见!
Apache
IIS
Nginx
Tomcat
如果你遇到web 服务器难题:
访问www.zzzyk.com 试试
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,