日期:2014-05-16  浏览次数:20941 次

Apache服务器模块的安装

最近,想使用apache的mod_status来查看一下apache的服务器状态,就自己安装了一下mod_status,以前觉得好像很难的东西其实很简单。

第一步, 去http://httpd.apache.org/下载最新的apache服务器

第二步,将下载的httpd-2.2.17.tar.gz解压,如:~/tmp$ tar xvf httpd-2.2.17.tar.gz

第三步,进入解压后的httpd-2.2.17目录,通过configure脚本配置安装文件,这里可以指名你的apache安装在什么地方、你需要加载那些模块等信息,具体参数可以查看帮助文档:http://www.phpchina.com/manual/apache/install.html。

这里我将我的apache安装在我用户目录的apache2.2.17下,并且加载mod_status模块,如下:

~/tmp ./configure --prefix=/home/dream-victor/apache2.2.17 --enable-status=shared

--prefix:指定路径;

--enable-status=shared:指定了要加载那个mod,这里使用--enable-XXX=shared,XXX就是mod_XXX去掉mod_后的值

第四步,编译,通过make命令,如:~/tmp make

第五步,安装,通过make install安装,install时对于apache已经配置好的文件是不会有更改的,如你在httpd.conf中配置了一个LoadModule XXX,这个配置是不会因为install而被覆盖的。

当安装完成后,你能看到在~/apache2.2.17/modules下能看到mod_status.so文件。

第六步,修改httpd.conf文件,恢复Include conf/extra/httpd-info.conf这条注释掉的语句,引入httpd-info.conf配置

第七步,修改httpd-info.conf文件,

<Location /server-status>
??? SetHandler server-status
??? Order deny,allow
??? Deny from nothing
??? Allow from all
</Location>

?

ExtendedStatus On

?

无访问限制,当然也可以通过上面的代码来设置访问限制,具体可以参看http://www.phpchina.com/manual/apache/install.html里的文档

完毕,可以启动服务器了,通过http://localhost/server-status来查看吞吐率等服务器状态

?

我们可以通过上述方法安装mod_info,但是会报出一个错误,

httpd: Syntax error on line 54 of /home/dream-victor/apache2.2.17/conf/httpd.conf: module status_module is built-in and can't be loaded

可以将httpd.conf文件中的LoadModule status_module modules/mod_status.so注释掉,即可启动服务。至于为什么,我使用 ./httpd -l查看mod_status.c已经是内建的module可能是因为我一开始安装时就引进了这个module的原因,因为没有看到info的信息,info是我后来安装的,暂时先这样理解。