本教程向您展示如何配置Apache的Gzip Module,以及如何根据自己的需要进行配置,以求得到最佳的性能。
Gzip Module是自由软件,获得和使用均完全免费。使用这个模块你需要zlib库的支持,您可以在www.zlib.org找到。同样,zlib也是自由软件。
Gzip Module的作用是压缩由服务器传递到客户端的数据。您可以定义以何种方式压缩何种文件,以及Gzip Module所占用的内存空间大小。对于windows用户,您可以下载已经编译好的动态链接库,直接使用。当然,您也可以下载源代码使用VC 5.0/6.0版本自行编译。
在Apache中配置Gzip_mod指导:
注意:本配置指导仅适用于1.3.19.1a,2.0.26a,2.0.30这三个版本。其余版本不保证依照本指导所描述的信息可正常工作。
1 在APACHE日志中加入mod_gzip的信息。
mod_gzip使用Apache的“notes”功能允许您添加信息到Apache的 access.log 文件中。
以下特定的‘LogFormat’仅显示压缩比。如果一个文件没有被压缩,那么将显示横杆“-”或0“ZERO”…
LogFormat "%h %l %u %t /"%r/" %>s %b
mod_gzip: %{mod_gzip_compression_ratio}npct."
common_with_mod_gzip_info1
以下特定的‘LogFormat’将显示已压缩文件的全部信息。同样,如果一个文件没有被压缩,那么将显示横杆“-”或0“ZERO”…
LogFormat "%h %l %u %t /"%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
为了使自定义的'LogFormat'生效,你需要使用Apache的‘CustomLog’命令,请看以下Apache示例命令…
CustomLog logs/access.log common_with_mod_gzip_info2
H提示:这条命令将我们刚才自定义的第2种日志格式添加到access.log文件中。
注意:如果您使用了一个以上的‘CustomLog’命令,那么您在每次客户请求中将得到多条记录。除非您确定要这么做,否则请仅保留一条‘CustomLog’命令是工作的。
请阅读 Apache 文档 ,获得更多关于'LogFormat' 和 'CustomLog' 命令的用法。
Gzip_Mod配置指导
以下是MOD_GZIP 配置指导,可以添加到你现有的Apache httpd.conf配置文件中。
提示:强烈建议将这些信息添加到access.conf中,免得搞坏了httpd.conf服务器瘫了您还找不出所以然。
mod_gzip_on [Yes/No]
Yes=mod_gzip 将会处理请求进行压缩处理。 No=禁用 mod_gzip。
mod_gzip_add_header_count [Yes/No]
Yes=添加头字节数到Apache标准日志信息中。 No=不添加
mod_gzip_keep_workfiles [Yes/No]
Yes=保留所有压缩临时文件 No=自动删除压缩临时文件
建议仅在调试时选择Yes。
mod_gzip_dechunk [Yes/No]
Yes=允许在必要移除'Transfer-encoding: chunked'。确定后台CGI解析器(如PHP4和COLDFUSION)始终返回响应'Transfer-encoding: chunked'。为使响应被被压缩你要将此指令
设为YES,即允许mod_gzip在必要时删除'Transfer-Encoding: chunked'。
mod_gzip_min_http [ 1000 或 1001 或 ???? ]
所支持的HTTP协议的最低版本,1000 就是 HTTP/1.0 1001 即 HTTP/1.1。如果浏览器或用户代理不回报其所使用的HTTP最低版本,那么将不进行压缩。这条命令使用与Apache相同的内部协议号。
mod_gzip_minimum_file_size [bytes]
允许压缩的文件最小尺寸,比指定尺寸小的文件将不被压缩。以字节为单位。
mod_gzip_maximum_file_size [bytes]
允许压缩的文件最大尺寸,比指定尺寸大的文件将不被压缩。以字节为单位。
mod_gzip_maximum_inmem_size [bytes]
在内存中压缩所占内存的最大尺寸。以字节为单位。
mod_gzip_temp_dir [Win32=c:/pathname UNIX=/pathname]
此文件夹用来存放压缩临时文件和压缩缓存
mod_gzip_item_include ARG1 ARG2
ARG1=[mime,handler,file,uri,reqheader,rspheader]
ARG2=[允许压缩的条目清单 由ARG1指定条目]
H提示:允许压缩任何的HTML文件(*.html) 用以下命令:
mod_gzip_item_include file /.html$
一条一行!
mod_gzip_item_exclude ARG1 ARG2
ARG1=[mime,handler,file,uri,reqheader,rspheader]
ARG2=[拒绝压缩的条目清单 由ARG1指定条目]
H提示:拒绝压缩任何的样式表文件(*.css) 用以下命令:
mod_gzip_item_exclude file /.css$
一条一行!
mod_gzip_command_version [string]
定义用于获取mod_gzip版本号的字符串。
mod_gzip_can_negotiate [Yes/No]
YES=协商/发送被压缩的静态文件 NO=不协商
以下命令不再支持:
mod_gzip_add_vinfo
mod_gzip_do_static_files
mod_gzip_do_cgi
mod_gzip_verbose_debug
mod_gzip_post_on
本文配置mod_info查看服务器配置的章节,有兴趣的朋友,自己研究下。
(责任编辑:IT) |