2023-05-12 开启多语言插件支持……

开启mod_gzip mod_deflate

apache 苏 demo 2653℃ 0评论

mod_deflate 是apache自带的模块,当然是在apache 2后支持的,以前1的时候是mod_gzip,启用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
<ifmodule mod_deflate.c>
DeflateCompressionLevel 6
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php
AddOutputFilter DEFLATE css js txt php xml html htm
</ifmodule>
这里需要注意的是LoadModule deflate_module需要放在LoadModule php5_module之后

DeflateCompressionLevel 为压缩级别 1-9 ,数字越高说明压缩比越大,同时更占用 CPU 资源。
默认建议从 6 开始设置根据实际情况调整。

4. 重启apache,让配置生效

遇到的问题以及解决:
1:
apach2 安装mod_deflate后restart,直接
load /opt/apache/modules/mod_deflate.so into server: /opt/apache/modules/mod_deflate.so: undefined symbol: deflate 异常的痛苦
什么ldd mod_deflate.so后再export LIB_LIBRARY_PATH呀,都试了N次,google也go了N天
终于在google上go出来一篇文章,终于解决,方法如下: vi /usr/local/apache2/bin/apr-config 修改LDFLAGS=” ” 为 LDFLAGS=”-lz” 然后再apxs -ica mod_deflate.c 就OK了.
2:
apach2 安装mod_deflate后restart,直接
module deflate_module is built-in and can’t be loaded …
这说明该模块已经安装,不必再LoadModule deflate_module启用它。
只需做<ifmodule mod_deflate.c>配置
打赏

转载请注明:苏demo的别样人生 » 开启mod_gzip mod_deflate

   如果本篇文章对您有帮助,欢迎向博主进行赞助,赞助时请写上您的用户名。
支付宝直接捐助帐号oracle_lee@qq.com 感谢支持!
喜欢 (0)or分享 (0)