不重新编译apache安装mod_deflate模块

如果需要对网页进行gzip压缩,首先需要打开httpd.conf文件中LoadModule deflate_module modules/mod_deflate.so类似的配置。但是如果编译时没有加–enable-deflate,这个配置是不存在的。那么接下来你可以选择重新编译,或者看下博主接下来的介绍。

apxs:apxs是一个为Apache超文本传输协议(HTTP)服务器编译安装扩展模块的工具, 用于编译一个或多个源程序或目标代码文件为动态共享对象, 使之可以用mod_so中的LoadModule指令 在运行时刻加载到Apache服务器中。

找到源码目录下的mod_deflate.c文件,一般是在这里“源码目录/modules/filters/mod_deflate.c”。进入这个目录“源码目录/modules/filters/”。运行下面类似的命令:

/usr/local/apache2/bin/apxs -i -c -a mod_deflate.c

注:apxs目录请参照您自己的机器,通常在apache安装目录的bin目录下。

安装完成后会在apache安装目录中的modules下生成mod_deflates.so文件,httpd.conf中也会增加“LoadModule deflate_module modules/mod_deflate.so”一行配置。如果提示错误,一般时服务器没有安装zlib,ubuntu用户可以选择安装zlibc、zlib1g、zlib1g-dev。

======

问题1;如果在安装apache的时候入到 error: mod_deflate has been requested but can not be built due to prerequisite failures的错误,那是没有安装zlib包。centos下可以采用yum install zlib-devel, ubuntu下可以采用apt-get install zlib1g-dev.

问题2;httpd: Syntax error on line 102 of /application/apache2.4.6/conf/httpd.conf: Cannot load modules/mod_deflate.so into server: /application/apache2.4.6/modules/mod_deflate.so: undefined symbol: inflateEnd

解决:该问题的另一种解决办法:
需要在 LoadModule deflate_module  modules/mod_deflate.so 的前面加载zlib.so
如果是32操作系统就在LoadModule deflate_module    modules/mod_deflate.so这行的上一行添加LoadFile /usr/lib/libz.so即可。
如果是64操作系统就在LoadModule deflate_module    modules/mod_deflate.so这行的上一行添加LoadFile /usr/lib64/libz.so即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值