不重新编译apache安装mod_deflate模块

2024-02-05 11:18

本文主要是介绍不重新编译apache安装mod_deflate模块,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

查看原文:http://www.sijitao.net/1726.html
如果需要对网页进行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。

接下来不要忙着重启,首先测试下是否正确。

/usr/local/apache2/bin/httpd -t

如果出现如下提示,那么恭喜你,模块安装成功。

root@ubuntu:~/httpd-2.2.26/modules/filters# /usr/local/apache2/bin/httpd -t
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
Syntax OK

如果出现如下提示,那么在接着往下看。

httpd: Syntax error on line 107 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/mod_deflate.so into server: /usr/local/apache2/modules/mod_deflate.so: undefined symbol: inflate

出现这个错误其实时因为mod_deflate模块没有找到zlib库。解决办法就是找到apr-config文件中的LDFLAGS="",把他改成LDFLAGS="-lz",然后在运行/usr/local/apache2/bin/apxs -i -c -a mod_deflate.c一般就可以了。

运行完可以通过如下命令验证,正常时mod_deflate.so是会加载libz.so的。

这里博主(www.sijitao.net)建议一开始编译时还是加上-enable-deflate,免得以后麻烦。希望这篇文章你有帮助。

root@ubuntu:~/httpd-2.2.26/modules/filters# ldd /usr/local/apache2/modules/mod_deflate.so
linux-vdso.so.1 => (0x00007fffa13ff000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fe40028e000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe3ffece000)
/lib64/ld-linux-x86-64.so.2 (0x00007fe4006b3000)

参考文章:http://grepanswers.blogspot.com/2008/11/how-to-add-moddeflate-to-apache-without.html

这篇关于不重新编译apache安装mod_deflate模块的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/680742

相关文章

Python如何调用指定路径的模块

《Python如何调用指定路径的模块》要在Python中调用指定路径的模块,可以使用sys.path.append,importlib.util.spec_from_file_location和exe... 目录一、sys.path.append() 方法1. 方法简介2. 使用示例3. 注意事项二、imp

Python中模块graphviz使用入门

《Python中模块graphviz使用入门》graphviz是一个用于创建和操作图形的Python库,本文主要介绍了Python中模块graphviz使用入门,具有一定的参考价值,感兴趣的可以了解一... 目录1.安装2. 基本用法2.1 输出图像格式2.2 图像style设置2.3 属性2.4 子图和聚

Win安装MySQL8全过程

《Win安装MySQL8全过程》:本文主要介绍Win安装MySQL8全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Win安装mysql81、下载MySQL2、解压文件3、新建文件夹data,用于保存数据库数据文件4、在mysql根目录下新建文件my.ini

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

最详细安装 PostgreSQL方法及常见问题解决

《最详细安装PostgreSQL方法及常见问题解决》:本文主要介绍最详细安装PostgreSQL方法及常见问题解决,介绍了在Windows系统上安装PostgreSQL及Linux系统上安装Po... 目录一、在 Windows 系统上安装 PostgreSQL1. 下载 PostgreSQL 安装包2.

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

Python中的getopt模块用法小结

《Python中的getopt模块用法小结》getopt.getopt()函数是Python中用于解析命令行参数的标准库函数,该函数可以从命令行中提取选项和参数,并对它们进行处理,本文详细介绍了Pyt... 目录getopt模块介绍getopt.getopt函数的介绍getopt模块的常用用法getopt模

Maven如何手动安装依赖到本地仓库

《Maven如何手动安装依赖到本地仓库》:本文主要介绍Maven如何手动安装依赖到本地仓库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、下载依赖二、安装 JAR 文件到本地仓库三、验证安装四、在项目中使用该依赖1、注意事项2、额外提示总结一、下载依赖登

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo