Apache 的HTTP Server是目前最流行的HTTP服务器软件之一。其优势主要在于快速、可靠、可通过简单的API扩展,Perl/Python解释器可被编译到服务器中,完全免费而且完全源代码开放。如果需要创建一个每天有数百万人访问的Web服务器,Apache HTTP Server会是最佳的选择,具有以下特点:

1、主要用于解析静态文本,并发性能高,侧重于HTTP服务;

2、支持静态页(HTML),不支持动态请求如:CGI、Servlet/JSP、PHP、ASP等;

3、具有很强的可扩展性,可以通过插件支持PHP,还可以单向Apache连接Tomcat实现连通;

4、Apache是世界使用排名第一的Web服务器。



一、Apache源文件安装的依赖文件安装

#  yum -y install gcc                                         #编译器依赖文件

#  yum -y install zlib-devel pcre pcre-devel apr apr-devel    #编译依赖的一些库文件

 

二、在http://mirrors.cnnic.cn/apache/官网中下载最新版Apache的httpd文件及依赖文件

# cd /usr/local/src

# wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.23.tar.gz     #核心服务

# wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.5.4.tar.gz     #依赖文件

# wget http://mirrors.cnnic.cn/apache/apr/apr-1.5.2.tar.gz          #依赖文件    


三、解压文件

# tar vxf httpd-2.4.23.tar.gz

# tar -zxvf apr-1.5.2.tar.gz

# tar -vxf apr-util-1.5.4.tar.gz

 

四、把apr-1.5.2.tar.gz及apr-util-1.5.4.tar.gz解压缩的文件移动到httpd-2.4.23/srclib/apr及httpd-2.4.23/srclib/apr-util目录下,不然编译时会出错。

# mkdir -p httpd-2.4.23/srclib/apr httpd-2.4.23/srclib/apr-util

# mv apr-1.5.2 httpd-2.4.23/srclib/apr

# mv apr-util-1.5.4 httpd-2.4.23/srclib/apr-util

 

五、配置编译参数

# cd httpd-2.4.23

# ./configure \

--prefix=/usr/local/apache2 \         #指定安装到哪里

--with-included-apr \                 #表示启用DSO(动态共享目标)的缩写,它提供了一种在运行时将特殊格式的代码在程序运行需要时,将需要的部分从外存调入内存执行的方法。apache 支持动态共享模块,也支持静态模块,静态的话,会把需要的目标直接编译进apache的可执行文件中,相比较动态,虽然省去了加载共享模块的步骤,但是也加大了二进制执行文件的空间,变得臃肿。

--enable-so \

--enable-deflate=shared \             #表示共享的方式编译deflate

--enable-expires=shared \             #表示共享的方式编译expires

--enable-rewrite=shared \             #表示共享的方式编译rewrite

--with-pcre

# echo $?        #验证这一步是否成功,返回值如果是``0'' 则执行成功,否则就是没有成功

0

 

六、进行编译

# make           #编译的时候,就会出现类似乱七八糟的信息,编译的时间比较长

# echo $?        #验证这一步是否成功,返回值如果是``0'' 则执行成功,否则就是没有成功

0

 

七、安装

# make install

# echo $?        #验证这一步是否成功,返回值如果是``0'' 则执行成功,否则就是没有成功

0

 

八、

# cd  /usr/local/apache2    #Apache安装的目录

# vim conf/httpd.conf       #修改如下内容

 

————————————httpd.conf 内容————————————————————

ServerName localhost:80                  #本地测试修改成主机名

<Directory />  
    AllowOverride none    
    Require all denied    
</Directory>

DocumentRoot "/home/web"                 #设定发布主页目录  
<Directory "/home/web">                  #设定发布主页目录

<IfModule dir_module>  
DirectoryIndex index.html index.php      #添加php的主页    
</IfModule>


————————————httpd.conf 内容————————————————————