Apache使用中没有的模块如何加载?

之前因LNMP中PHP的稳定性不高,另外htacess有些方式不支持,今天在虚拟机上装了LAMP,发现apache没有mod_deflate、mod_expires、mod_headers模块。所以决定自已来编译加载这三个模块。这两个模块有什么作用呢?请百度一下吧。

先收集了一些编译方法,有空时再编译了。收集的编译方法如下:

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

编译方法转载自:http://zhangxugg-163-com.iteye.com/blog/621645

相关日志

发表于:2011-04-06 23:49:00 at 23:49 分类:服务器 发表评论 Tags:, ,

发表评论

(必填)

(必填)您的电子邮箱不会被公开。

正在加载信息...

Archives