Apache已经安装完毕并投入运行,但是后来却发现部分模块没有加载,当然有两个方法:
1. 一是完全重新编译Apache, 再安装
2. 编译模块为SO文件,使用LoadModule指令加载扩展模块。
这里只讲第二个方法
情景:现在需要启用Apache的deflate模块,即压缩输出,以加快网站下载,节省网络带宽
服务器 Red Hat AS 4
Aapache安装在/usr/local/apache2/
Apache安装源文件保存在/usr/local/soft/httpd-2.2.8/下
要求:加载mod_deflate.c模块,使Apache支持压缩输出
1. 现在检查 /usr/local/apache2/conf/httpd.conf, 没有发现类似:LoadModule deflate_module modules/mod_deflate.so
说明,Apache没有加载此模块
2. 再检查 /usr/local/apache2/modules/, 在此目录下并没有发现mod_deflate.so 文件,说明此模块未被编译好,那么需要先编译模块,再加载之
3. 先进入mod_deflate.c文件所在目录:
[root@localhost.localdomain ~/]#cd
/usr/local/soft/httpd-2.2.8/modules/filte
r
4. 利用apxs文件编译目标模块
[root@localhost.localdomain /usr/local/soft/httpd-2.2.8/modules/filters]#/usr/local/apache2/bin/apxs -i -c -a mod_deflate.c
说明:-i 安装, -c 编译指定模块 -a激活模块(即向httpd.conf添加 LoadModule指令)
运行结果:
................
----------------------------------------------------------------------
chmod 755 /usr/local/apache2/modules/mod_deflate.so
[activating module `deflate' in /usr/local/apache2/conf/httpd.conf]
表示模块编译后存放为 /usr/local/apache2/modules/mod_deflate.so, 并自动在httpd.conf中激活了模块
那么,我们现在检查/usr/local/apache2/conf/httpd.conf, 会发现程序已经自动添加了
LoadModule deflate_module modules/mod_deflate.so
5. 那么,我们重启Apache即可:
[root@localhost.localdomain ~]#/usr/local/apache2/bin/apachectl restart
如果在上述第二步中发现模块文件已经存在,则不需要再编译模块,手工修改httpd.conf,重启Apache即可
分享到:
相关推荐
Apache 优化和模块安装是提升Web服务器性能的关键步骤。Apache 是一个广泛应用的开源HTTP服务器,它的性能可以通过调整配置参数和安装特定模块来显著提高。在这个过程中,我们将关注两个主要方面:Apache 的最大连接...
3. **配置mod_jk**:编辑Apache的httpd.conf文件,添加LoadModule指令加载mod_jk模块,并配置JKMount指令来指定哪些URL应该由Tomcat处理。同时,需要配置mod_jk的工作模式(例如worker.properties文件)。 4. **...
5. 编译与安装:最后,编译模块为动态链接库(.so文件),并将其放置在Apache的modules目录下,更新配置文件以加载模块。 三、"adservice"模块示例 假设"adservice"是一个广告服务模块,它的主要任务是在返回给...
Apache采用了一种分层和模块化的架构,这意味着它可以根据需要添加或移除功能,而不会影响到整个服务器的基础结构。这种设计使得Apache能够高效地运行,并且易于扩展和定制。整个系统由几个主要部分组成:核心组件、...
深圳信狮Apache-增加C++和SSL模块的支持,介绍搭建apache的过程以及添加C++和SSL模块的具体命令。
2. **配置Apache**:apxs会修改Apache的配置文件(通常为`httpd.conf`),将新模块添加到动态加载列表中。 3. **编译和安装**:执行上述命令后,apxs会编译模块并将其安装到Apache的模块目录下。 4. **重启Apache**...
文件名为 `apache_2.2.17-win32-x86-no_ssl.msi`。 - 对于版本的选择,提供两种类型:`no_ssl` 和 `openssl`。`openssl` 版本提供了 SSL 安全认证功能,适合需要 HTTPS 协议的场景。对于大多数常规 HTTP 服务需求...
Apache2模块autoindex是Apache HTTP服务器的一个核心模块,它的主要功能是为用户提供一个可视化的目录索引,当用户访问一个没有默认索引文件(如index.html)的目录时,会显示该目录下的文件和子目录列表。这个模块...
`mod_info`模块则是一个分类扩展模块,它并不包含在Apache的核心组件中,需要手动添加。这个模块提供了一份详细的服务器配置和模块列表,这对于诊断配置问题或了解服务器的具体构建非常有帮助。通过设置`SetHandler ...
mod_rpaf, 反向代理为Apache添加转发模块 mod_rpaf---反向代理添加转发摘要将 REMOTE_ADDR,HTTPS 和 HTTP_PORT 设置为 upstream 代理提供的值。 将 R> 注释 table 中的remoteip-proxy-ip-list
接下来需要下载并安装一个专门为Apache设计的GeoIP模块,该模块允许Apache使用GeoIP库的功能。具体步骤如下: ``` wget www.maxmind.com/download/geoip/api/mod_geoip2/mod_geoip2_1.2.7.tar.gz tar -xvf mod_...
如果没有这行,你需要添加它并保存配置文件,然后重启 Apache。 3. **路径错误**:确认 `mod_ssl.so` 文件位于配置文件中指定的路径。如果不在,你需要找到正确的路径,或者将路径更改为实际位置。 4. **依赖库**...
《C语言扩展Apache模块开发入门篇-mysql.doc》特别关注了如何结合C语言和MySQL数据库开发Apache模块,这对于需要处理动态数据或数据库交互的应用非常有用。 最后,《Apache2[1].2中文文档电子书.pdf》很可能是...
这将把mod_rpaf模块编译并安装到Apache的模块目录中。 **配置mod_rpaf** 在Apache的配置文件(通常是`httpd.conf`或`virtualhost`配置段)中,添加以下行来启用mod_rpaf: ```apacheconf LoadModule rpaf_module ...
### 交叉编译构建带有SSL模块的Apache服务器 #### 一、构建交叉编译环境 在本节中,我们将详细介绍如何构建一个适用于MIPS处理器的交叉编译环境,并且特别关注于如何通过Buildroot框架来支持UCLibc库中的`sys_...
例如,创建一个名为`mod_example.c`的源文件,其中包含Apache模块的基本结构,如初始化和清理函数。 3. **使用apxs生成配置文件**:在模块源代码目录下运行apxs工具,生成Makefile: ``` apxs -c -i -a mod_...
完成模块开发后,需要编译生成动态共享对象(DSO),然后将其加载到Apache中。这通常通过Apache的配置指令 `LoadModule` 完成。 ```apacheconf LoadModule hello_module /path/to/mod_hello.so ``` #### 五、配置...
2. 在Apache配置文件中添加加载模块的指令,例如:`LoadModule concat_module modules/mod_concatx.dll`。 3. 配置合并规则,例如使用`<IfModule mod_concat.c>`和`</IfModule>`标签来定义一组文件进行合并。 4. ...
apache+Windows配置flv,mp4视频支持随意拖动 配置成功,亲测可用,注意对应版本!!! 压缩包内目录: mod_flvx-0.4-Apache-2.4.x-vc14-x64.zip mod_flvx-0.4-Apache-2.4.x-vc14-x86.zip mod_flvx-0.4-Apache-2.4....
1. **创建动态模块项目**:在C++Builder6中,选择新建项目类型为Web Server Application下的Apache Shared Module(DLL),生成默认项目文件,包括Project1.cpp、Unit1.cpp、Unit1.h。除了Project1.cpp外,其他文件名...