Apache是一个功能强大的Web服务器,一直具有相当高的市场占有率。Apache虽然在高并发性能上不如Nginx,但是在功能上更加完善,具有非常出色的稳定性。apache官方地址:apache官方下载。开始之前要求系统已经配置好了yum源,可参考:Linux配置本地YUM源
1.安装依赖
yum -y install expat-devel zlib-devel openssl-devel pcre-devel
其中expat-devel和pcre-devel是Apache必需的依赖包,mod_deflate是mod_deflate模块的依赖包,zlib-devel模块用于gzip压缩支持。openssl-devel是可选模块mod_ssl的依赖包,mod_ssl模块用于HTTPS访问支持。
2.下载解压apache源码包
wget http://archive.apache.org/dist/httpd/httpd-2.4.33.tar.gz tar -zxvf httpd-2.4.33.tar.gz
3.下载解压支持库APR
APR(Apache portable Run-time libraries)是Apache可移植运行库的意思,顾名思义,主要为上层的应用程序提供一个可以跨多操作系统平台使用的底层支持接口库。在Apache早期版本中,应用程序本身能够处理各种具体操作系统平台的细节,并针对不同的平台调用不同的处理函数。到了Apache2.3以后,Apache组织决定将这些通用的函数独立出来并发展成为一个新的项目即APR。所以在apache2.3版以后就不再集成到源码包里,需要另行下载安装。这两个库既可以单独编译安装,也可以放入Apache源码中一起编译安装,本文使用一起编译。即将APR和APR-util解压后分别移动并重名至apache的源码文件srclib/目录下。
wget http://mirrors.hust.edu.cn/apache/apr/apr-1.6.3.tar.gz tar -zxvf apr-1.6.3.tar.gz mv apr-1.6.3 httpd-2.4.33/srclib/apr wget http://mirrors.hust.edu.cn/apache/apr/apr-util-1.6.1.tar.gz tar -zxvf apr-util-1.6.1.tar.gz mv apr-util-1.6.1 httpd-2.4.33/srclib/apr-util
4.编译安装Apache
cd httpd-2.4.33 ./configure --prefix=/usr/local/apache2 --enable-so --enable-deflate --enable-ssl --with-included-apr make && make install
预编译参数中:–prefix是指定安装目录默认为/usr/local/apache2,–enable-so开启DSO(Dynamic Shared Objects动态共享对象)支持,–enable-deflate开启压缩支持,–enable-ssl开启SSL支持,–with-included-apr在编译时使用源代码中的APR,仅在2.2.3以后可用
5.启动、停止、重启Apache
# /usr/local/apache2/bin/apachectl start # /usr/local/apache2/bin/apachectl stop # /usr/local/apache2/bin/apachectl restart
Apache默认没有配置ServerName,因此启动时会出现一个提示信息,告知用户使用了::1作为ServerName。可以编辑/usr/local/apache2/conf/httpd.conf,取消该行注释:ServerNarne www.example.com:80解决。
6.测试是否成功
curl http://127.0.0.1 #如果其他电脑无法访问,应该是防火墙问题,将其关闭再试。 service iptables stop
7.加入系统服务并设置开机启动
cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd sed -i "2i #chkconfig:35 85 15" /etc/init.d/httpd chkconfig httpd on
转载请注明:零五宝典 » CentOS 6平台上源码编译安装Apache 2.4