Apache模块

DSO模块加载模块提供了灵活性。

模块的类型:

核心模块

标准模块

第三方模块

使用apxs编译安装模块

首先查看已经安装过mod_so模块了没

httpd -M


使用apxs来进行编译安装模块

安装mod_txt模块

cd /usr/local/src

wgethttp://apache.webthing.com/mod_txt/mod_txt.c

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

l然后修改配置文件,并在httpd.con文件中的合适位置添加如下指令

AddOutputFilter  text-filter    .txt

AddType text/html       .txt

TextHeader      /path/to/header-file

TextFooter      /path/to/footer-file

再重启服务器,就可以用了

使用静态链接模块

编译时直接指定 ./configure --enable-modules=most

就一句话,编译时指定静态链接的模块。再make && make install

编译好就可以用了

使用动态链接模块

动态链接模块的使用方法

首先查看已经安装过mod_so模块了没

httpd -M

如果想使用某个动态链接的模块

Apache2.X

要在httpd.conf里加

LoadModule vhost_alia_module modules/mod_vhost_alias.so

LoadModule ssl_module modules/mod_ssl.so

才算启用模块

PS:LoadModule只能加载Apache的根目录的模块,要想加载其他路径的模块,需要用LoadFile换LoadModule

.老版本里DSO模块装入的顺序决定了Apache使用它们处理URL的顺序

Apache 1.3.X动态链接模块的使用方法

必须先用LoadModule将其加载,然后使用AddModule来启用

PS:在这个版本里,即使是静态编译的模块也需要用AddModule指令来启用。

为Apache添加新模块

天真的以为用yum install -y php可以直接把php这个模块动态加载到Apache中,没什么副作用。副作用是会重新安装一个rpm包的apache。把php动态加载到新安装的那个apache上去了。而不是动态安装到之前的源码包上。

以DSO的方式安装PHP到Apache2.x

wget http://源码包的位置

tar zxvf 源码包的位置

cd 源码包解压后的位置

./configure  --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs

make && make install

虽说make install会自动在Apache的httpd.conf文件中加入对php模版的调用,但还是建议检查一下httpd.conf是不是加了那些内容。


2.x的apache不支持php静态编译进apache了,只有1.3.x能静态编译

第一次编译Apache

./configure --prefix=/usr/local/apache2

安装PHP

./configure --prefix=/usr/local/php5.4 --with-mysql=/usr/local/mysql5.0.67 --with-apache=../apache_1.3.9

make && make install

第二次编译Apache

./configure --prefix=/usr/local/php5.4 --active-module=src/modules/php5/libphp5.a

make && make install

你可能感兴趣的:(Apache模块)