httpd-2.4新特性

1).MPM支持在运行时加载

--enbale-mpms-shared=all --with-mpm=event 

2)支持event

3)支持异步读写

4)在每模块及目录上指定日志级别

5)每请求配置:<IF>,<Elseif>

6)增强版的表达式分析器

7)毫秒级的keepalive timeout

8)基于FQDN的虚拟机主机不再需要NameVirtualHost指令

9)支持自定义变量

新增加了一下模块,mod_proxy_fcgi,mod_ratelimit,mod_request,mod_remoteip对于基于IP的访问控制做了修改,不再使用order,allow和deny,而是统一使用require进行


首先到官网http://httpd.apache.org/download.cgi下载最新版本的httpd,目前最新的版本是2.4-10, 另外2.4版本的httpd依赖于较高版本的apr和apr-util,apr全称为Apache portable runtime,

1、解决安装之前的依赖关系:

安装pcre依赖,是per支持的CGI环境,

[root@localhost ~]# yum install -y pcre-devel 

安装apr

# tar xvf apr-1.6.2.tar.bz2

# cd apr-1.6.2/

# ./configure --prefix=/usr/local/apr && make && make install

# ll /usr/local/apr/

total 0

drwxr-xr-x 2 root root  25 Sep 27 11:09 bin

drwxr-xr-x 2 root root 141 Sep 27 11:09 build-1

drwxr-xr-x 3 root root  18 Sep 27 11:09 include

drwxr-xr-x 3 root root 133 Sep 27 11:09 lib

wKioL1RY4EGS2PweAAG9XMfJE50659.jpg

安装apr-util

# tar xvf apr-util-1.6.0.tar.bz2

#cd apr-util-1.6.0/

# yum install  expat expat-devel

#./configure --prefix=/usr/local/apr-utils --with-apr=/usr/local/apr && make && make install

# ll  /usr/local/apr-utils/

total 4

drwxr-xr-x 2 root root   25 Sep 27 11:16 bin

drwxr-xr-x 3 root root   18 Sep 27 11:16 include

drwxr-xr-x 3 root root 4096 Sep 27 11:16 lib

wKioL1RY4c_Dz3X-AAA7GUONnr4161.jpg

wKioL1RY4X7zxUz6AABV0dUkrQA922.jpg


2、编译安装httpd-2.4

[root@localhost ~]# tar xvf httpd-2.4.26.tar.bz2

[root@localhost ~]# cd httpd-2.4.26/

[root@localhost httpd-2.4.26]# ./configure   --prefix=/usr/local/apache  --sysconfdir=/etc/httpdd34  --enable-so --enable-ssl --enable-cgi --enable-rewrite  --with-zlib --with-pcre --with-apr=/usr/local/apr/  --with-apr-util=/usr/local/apr-utils/ --enable-modules=most --enable-mpms-shared=all  --with-mpm=event

[root@localhost httpd-2.4.26]#make && make install


3、安装后配置:

导出头文件:

[root@localhost httpd-2.4.26]# ln -sv /usr/local/apache/include/ /usr/include/httpd

`/usr/include/httpd' -> `/usr/local/apache/include/'


导出帮助文档:

[root@localhost httpd-2.4.26]# vim /etc/man.config

    MANPATH  /usr/local/apache/man/


导出二进制执行程序:

[root@localhost httpd-2.4.26]# vim /etc/profile.d/http.sh

    export PATH=/usr/local/apache/bin:$PATH

[root@localhost httpd-2.4.26]# . /etc/profile.d/http.sh


查看httpd版本:

wKiom1RY5Vbghv6hAAGHtVpYGV8675.jpg

[root@localhost ~]# vim /etc/httpdd34/httpd.conf

    PidFile "/var/run/httpd34.pid"

[root@localhost ~]# vim /etc/rc.d/init.d/httpd34 #准备开机脚本

apachectl=/usr/local/apache/bin/apachectl

httpd=${HTTPD-/usr/local/apache/bin/httpd}

prog=httpd

pidfile=${PIDFILE-/var/run/httpd34.pid}

lockfile=${LOCKFILE-/var/lock/subsys/httpd}

RETVAL=0

STOP_TIMEOUT=${STOP_TIMEOUT-10}


4、启动httpd服务:

wKiom1RY52OzQQI4AABHo_hbGBI110.jpg

使用浏览器访问测试是否可以正常访问:

wKioL1RY6Ajw8x7BAADvc6FqASM884.jpg


已经可以正常启动并访问: