websyhg 发表于 2012-9-15 09:58:16

apache添加mod_deflate压缩模块

1. 查看apache的已经内置的模块
apachectl -l
发现 mod_so.c,ok可以动态加模块,不用重新编译。
2. 安装mod_deflate
找到原有的apache安装包安装mod_deflate
cd httpd-2.0.59/modules/filters
/usr/local/apache2/bin/apxs -i -c -a mod_deflate.c
apxs命令参数说明:
-i 此选项表示需要执行安装操作,以安装一个或多个动态共享对象到服务器的modules目录中。
-a 此选项自动增加一个LoadModule行到httpd.conf文件中,以激活此模块,或者,如果此行已经存在,则启用之。
-A 与 -a 选项类似,但是它增加的LoadModule命令有一个井号前缀(#),即此模块已经准备就绪但尚未启用。
-c 此选项表示需要执行编译操作。它首先会编译C源程序(.c)files为对应的目标代码文件(.o),然后连接这些目标代码和files中其余的目标代码文件(.o和.a),以生成动态共享对象dsofile 。如果没有指定 -o 选项,则此输出文件名由files中的第一个文件名推测得到,也就是默认为mod_name.so 。
3. 编辑httpd.conf,配置mod_deflate
对下类型文件的开启mod_deflate
这里需要注意的是LoadModule deflate_module需要放在LoadModule php5_module之后
<ifmodule mod_deflate.c>
DeflateCompressionLevel 6
AddOutputFilter DEFLATE css js txt php xml html htm
< /ifmodule>
注:DeflateCompressionLevel 6 此行为压缩级别,1-9,9压缩率最高,占用资源最大。
4. 重启apache,让配置生效

5、使用以下站点测试apache是否成功添加压缩功能
http://tool.chinaz.com/Gzips/
输入完整网页文件路径,如:www.qq.com/test.js
==================================================================
有个奇怪的问题,在我添加这个模块之前:
使用192.168.2.100/phpinfo2.php使用站长之家的测试结果为 是,启动压缩;
如果把IP改为域名访问,测试结果:否,未启用压缩。

xiguaqq20 发表于 2013-3-13 23:36:35

真是 收益 匪浅

qq78707 发表于 2013-5-16 00:32:05

下雨了,别忘了打伞,湿身是小,淋病就麻烦啦*^_^*

-★出爺;3 发表于 2013-5-17 10:59:25

读书读到抽筋处,文思方能如尿崩!

ph033378 发表于 2013-5-18 16:22:10

死亡教会人一切,如同考试之后公布的结果——虽然恍然大悟,但为时晚矣~!

han8809 发表于 2013-5-20 05:09:17

不在课堂上沉睡,就在酒桌上埋醉。

张颢镡 发表于 2013-5-21 11:29:19

脱了衣服我是禽兽,穿上衣服我是衣冠禽兽!
页: [1]
查看完整版本: apache添加mod_deflate压缩模块