同样apache也需要到官网下载合适的版本,目前使用较多的版本为2.0或者2.2阿铭建议下载2.2版本。apache官网下载地址: http://www.apache.org/dyn/closer.cgi 您也可以使用阿铭提供的地址下载。
[root@localhost mysql]# cd /usr/local/src/ [root@localhost src]# wget http://www.lishiming.net/data/attachment/forum/httpd-2.2.24.tar.bz2
解压:
[root@localhost src]# tar jvxf httpd-2.2.24.tar.bz2
配置编译参数:
[root@localhost src]# cd httpd-2.2.24 [root@localhost httpd-2.2.24]# ./configure --prefix=/usr/local/apache2 --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --with-pcre
--prefix 指定安装到哪里, --with-included-arp httpd的依赖包,这个包支持跨平台运行 --enable-so 表示启用DSO [1] --with-pcre 与正则相关的库 --enable-deflate=shared 表示共享的方式编译deflate,后面的参数同理。如果这一步您出现了这样的错误:
error: mod_deflate has been requested but can not be built due to prerequisite failures
解决办法是:
yum install -y zlib-devel
为了避免在make的时候出现错误,所以最好是提前先安装好一些库文件:
yum install -y pcre pcre-devel apr apr-devel
编译:
[root@localhost httpd-2.2.24]#make
安装:
[root@localhost httpd-2.2.24]#make install
以上两个步骤都可以使用 echo $? 来检查是否正确执行,否则需要根据错误提示去解决问题。
列出apache支持的模块列表(有静态模块和动态模块)
/usr/local/apache2/bin/apachectl -M
动态模块目录ls /usr/local/apache2/modules/ 多个动态模块,需要时在加载
静态模块文件ls /usr/local/apache2/bin/httpd 所有静态,打包到一个文件中
/usr/local/apache2/bin/apachectl -l 只列出静态模块
/usr/local/apache2/bin/apachectl -t 检查配置文件,是否有语法错误
ls /usr/local/apache2/conf/httpd.conf apache配置文件位置
/usr/local/apache2/bin/apachectl start|sotp|restart 启动|停止|重启apache
/usr/local/apache2/bin/apachectl graceful 不关掉服务,重新加载配置文件
用chkconfig将自编译设置为系统服务的时候,httpd 服务不支持chkconfig。解决过程如下:
1.编辑/etc/init.d/httpd
#!/bin/bash
#chkconfig:345 61 61
原文地址:http://llzdwyp.blog.51cto.com/6140981/1685010