这篇文章是我在2002年初否则gzip win32 port工作的时候编写的。post过来希望对大家有所帮助。
教学]如何配置apache的gzip module。
〖首先,感谢e小天翻译gzip module配置手册。〗
本指南将向您展示如何配置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配置文件中。
h提示:强烈建议将这些信息添加到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查看服务器配置的章节,觉得无聊 呵呵