httpd-2.4的新特性:

1) MPM支持在运行时装载;

--enalbe-mpm-shared=all --with-mpm={prefork|worker|event}

2) 支持event mpm

3) 异步读写

4) 在每模块及每目录分别使用不同的日志级别

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

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

7) 毫秒级的keep alive的timeout

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

9) 支持用户使用自定义变量

新增的模块:

mod_proxy_fcgi:  支持用fastcgi的方式连接后端的php

mode_ratelimit:  速率限定,限制用户访问时传输的速率

mod_request:  对用户请求做更强的过滤功能

mod_remoteip: 对用户访问的IP地址有更强的控制能力

修改了一些配置机制:

不再支持使用order,allow,deny定义基于ip的访问控制,改为require

依赖关系:

因为httpd程序依赖于apr和apr-util所以在安装httpd之前需要先安装apr和apr-util,centos6.5的yum源提供的apr为1.3.9版本而httpd需要1.4.0以上的版本支持,所以apr和apr-util也需要手动安装.步骤1-6为解决依赖关系的步骤.

配置过程:

1.安装开发者工具包

[root@test2 ~]# yum groupinstall 'Development tools'
[root@test2 ~]# yum groupinstall 'Server Platform Development'

2.通过xftp把apr-1.5.0.tar.bz2,apr-util-1.5.3.tar.bz2和httpd-2.4.9.tar.bz2三个包上传到虚拟机的根目录

3.解压apr-1.5.0.tar.bz2包

[root@test2 ~]# tar xf apr-1.5.0.tar.bz2
[root@test2 ~]# cd apr-1.5.0

4.把apr安装到/usr/local/apr下这样不用影响系统的原有的apr版本的使用

[root@test2 apr-1.5.0]# ./configure --prefix=/usr/local/apr
[root@test2 apr-1.5.0]# make && make install

等待安装完成,查看一下安装目录

[root@test2 apr-1.5.0]# ls /usr/local/apr/
bin  build-1  include  lib
[root@test2 apr-1.5.0]# ls /usr/local/apr/lib
apr.exp  libapr-1.a  libapr-1.la  libapr-1.so  libapr-1.so.0  libapr-1.so.0.5.0  pkgconfig

5.解压apr-util-1.5.3.tar.bz2包

[root@test2 ~]# tar xf apr-util-1.5.3.tar.bz2

6.同样把apr-util装到新位置/usr/local/apr-util.因为apr-util是apr的一个工具,而新版本的apr又安装在了不同的位置,所以要apr-util指定apr的安装位置

[root@test2 apr-util-1.5.3]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[root@test2 apr-util-1.5.3]# make && make install

7.解压httpd-2.4.9.tar.bz2包

[root@test2 ~]# tar xf httpd-2.4.9.tar.bz2

8.编译安装httpd-2.4.9

[root@test2 httpd-2.4.9]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd
--enable-so --enable-ssl --enable-cgi --enable-rewrite --with-pcre --with-zlib --with-apr
=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-mpms-shared=all --with-mpm=e
vent --enable-modules=most[root@test2 httpd-2.4.9]# make && make install

--prefix=/usr/local/apache:  httpd的安装路径

--sysconfdir=/etc/httpd:  配置文件的安装路径

--enable-so:  支持DSO的方式动态装卸模块,默认启用

--enable-ssl:  编译启用ssl,rpm –qa|grep opensll要能查看到openssl-devel

--enable-cgi:  默认启用cgi模块

--enable-rewrite:  支持url重写,服务器自动重写url以跳转到新位置

--with-pcre:  支持pcre,perl的正则表达库rpm –qa|grep pcre要能查看到pcre-devel

--with-zlib:  支持在网络传输时使用压缩库

--with-apr=/usr/local/apr:  指定apr位置

--with-apr-util=/usr/local/apr-util:  指定apr-util位置

--enable-mpms-shared=all --with-mpm=event:  默认使用event模式

--enable-modules=most: 编译大多数常用模块

9.把httpd的脚本添加到PATH路径

[root@test2 ~]# vim /etc/profile.d/httpd24.sh
export PATH=/usr/local/apache/bin:$PATH
[root@test2 ~]# source /etc/profile.d/httpd24.sh

10.测试httpd程序是否正常启动

11.头文件导出

[root@test2 apache]# ln -sv /usr/local/apache/include/ /usr/include/httpd2

12.添加man手册

[root@test2 apache]# vim /etc/man.config

在配置文件中添加man文件夹的位置

13.编译安装后的环境介绍

[root@test2 apache]# ls
bin  build  cgi-bin  error  htdocs  icons  include  logs  man  manual  modules

bin: 二进制程序目录

cgi-bin: 服务器端脚本目录

htdocs: 默认主页位置

error: 默认错误页面

icons: 图标

include: 头文件

logs: 日志

modules: 模块

14.MPM配置

启用MPM功能

[root@test2 httpd]# vim httpd.conf
# Server-pool management (MPM specific)
Include /etc/httpd/extra/httpd-mpm.conf

MPM配置文件位置

如果想要更换MPM,需要修改httpd位置文件

修改为

用httpd -M命令查看httpd加载的模块

转载于:https://blog.51cto.com/branguo/1616466

在centos6.5上编译安装httpd-2.4和2.4版本特性介绍相关推荐

  1. CentOS6.6上编译安装httpd2.4

    简介   现在apache软件基金会正在维护的httpd项目有三个版本,分别为Version 2.4,Version 2.2与Version 2.0.   三个版本的区别暂不一一介绍,有兴趣的可以去h ...

  2. LAMP架构之编译安装httpd+(php-fpm)+mariadb

    php-fpm: CentOS 6: PHP-5.3.2-:默认不支持fpm机制:需要自行打补丁并编译安装: httpd-2.2:默认不支持fcgi协议,需要自行编译此模块: 解决方案:编译安装htt ...

  3. 源码编译安装httpd服务

    1 概述 很多软件没有发布rpm包,而是直接发布了源码,好处是这样能兼容更多的平台,但是,用户需要对源码进行编译后安装.利用工具make将源码生成二进制文件. 本文主要讲解了对httpd进行编译安装. ...

  4. 在 OSX 10.9.4 上编译安装 FastDFS 及其 PHP 扩展

    2019独角兽企业重金招聘Python工程师标准>>> 经我测试,在OSX 10.9.4上安装FastDFS V5.01的话会很悲剧,一开始就无法安装,会遇到这帖子中的问题:http ...

  5. 编译安装httpd,并启动之

    首先查看系统有没httpd,如有将其卸载. root@ localhost ~]# rpm -q httpd httpd-2.2.15-29.el6.centos.x86_64 [root@ loca ...

  6. Centos6.6下编译安装Apache2.2.31

    安装环境: [root@apache ~]# cat /etc/redhat-release CentOS release 6.6 (Final) [root@apache ~]# uname -r ...

  7. Linux文件查找与tar包管理、企业级sed应用 软件包管理与编译安装httpd

    总结 第7节 Linux文件查找与tar包管理.企业级sed应用 使用locate命令 使用find命令 压缩和解压缩工具 01-文件搜索 locate (00:02:30) locate test. ...

  8. 在Ubuntu 14.04 64bit上编译安装Crtmpserver trunk svn 811版本!

    这里仅在 在Ubuntu 12.04 64bit上搭建Crtmpserver视频点播服务 基础上补充一下在Ubuntu 14.04上编译安装Crtmpserver的方法,以作备忘.因为Ubuntu 1 ...

  9. centos llvm安装_在CentOS上编译安装llvm-3.8.1详细教程

    在CentOS上编译安装llvm-3.8.1详细教程 2020/1/11  18:12 1682次 注:CentOS版本是6.8,6.x版本的操作类似 安装需求: [list] [*]Cmake: 3 ...

  10. Fedora12上编译安装gdb-7.2

    在Fedora12上编译安装gdb-7.2:编译安装gdb和gdbserver 1. 下载gdb7.2:  ftp://sourceware.org/pub/gdb/releases/gdb-7.2a ...

最新文章

  1. quick-cocos2d-x游戏开发【3】——display.newSprite创建向导
  2. 【Android工具】最新测试谷歌play耗电情况,各种品牌安装谷歌play方法,GooglePlay...
  3. 扎克伯格做了26张PPT
  4. 用户微服务表结构介绍
  5. 【精选】Nginx模块Lua-Nginx-Module学习笔记(一)Nginx Lua API 接口详解
  6. 计算机win7内容已满,Win7旗舰版电脑C盘满了怎么清理
  7. 怎么修改腾讯视频的昵称
  8. 【原创】 Boost序列化自己手写实现简易版
  9. J2EE中使用jstl报http //java sun com/jsp/jstl/core cannot be reso
  10. python熵权法求权重
  11. 软考c语言题库,【中级】软考题库每日一练|4.4
  12. docker安装文档(多种方式)
  13. 全智通A+常见问题汇总解答—A+—配件仓库—维修领料—修改领料单后,明细不存在
  14. Windows常见扩展名介绍
  15. 实现联系人功能,右侧A~Z滑动
  16. D-Link宽带路由器设置全攻略
  17. Linux 中 which、whereis、locate、find的区别
  18. Codeforces Round #354 (Div. 2)-Theseus and labyrint
  19. 虹科分享 | 简单实用的CANopen介绍,看完你就明白了(2)——CANopen框架与七种服务类型
  20. 《Android NFC开发实战详解》——6.4节Android NFC P2P开发进阶

热门文章

  1. Apple在线商店iphone5, ipad mini到货提醒 - 邮件
  2. Sharepoint 2010 Survey 提交后不跳转到Defalut页面 跳转到其他页面
  3. 如何运行自动 Mac 清理
  4. Magnet for mac(专业窗口辅助工具)支持m1
  5. union介绍,union与struct
  6. AlwaysOn业务IP和高可用IP分开使用(四)
  7. 关于yum使用的小技巧
  8. 了解mysql的undo log
  9. 关于hive和spark日志问题
  10. adobebridge2020mac资源管理软件安装