在centos6.5上编译安装httpd-2.4和2.4版本特性介绍
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版本特性介绍相关推荐
- CentOS6.6上编译安装httpd2.4
简介 现在apache软件基金会正在维护的httpd项目有三个版本,分别为Version 2.4,Version 2.2与Version 2.0. 三个版本的区别暂不一一介绍,有兴趣的可以去h ...
- LAMP架构之编译安装httpd+(php-fpm)+mariadb
php-fpm: CentOS 6: PHP-5.3.2-:默认不支持fpm机制:需要自行打补丁并编译安装: httpd-2.2:默认不支持fcgi协议,需要自行编译此模块: 解决方案:编译安装htt ...
- 源码编译安装httpd服务
1 概述 很多软件没有发布rpm包,而是直接发布了源码,好处是这样能兼容更多的平台,但是,用户需要对源码进行编译后安装.利用工具make将源码生成二进制文件. 本文主要讲解了对httpd进行编译安装. ...
- 在 OSX 10.9.4 上编译安装 FastDFS 及其 PHP 扩展
2019独角兽企业重金招聘Python工程师标准>>> 经我测试,在OSX 10.9.4上安装FastDFS V5.01的话会很悲剧,一开始就无法安装,会遇到这帖子中的问题:http ...
- 编译安装httpd,并启动之
首先查看系统有没httpd,如有将其卸载. root@ localhost ~]# rpm -q httpd httpd-2.2.15-29.el6.centos.x86_64 [root@ loca ...
- Centos6.6下编译安装Apache2.2.31
安装环境: [root@apache ~]# cat /etc/redhat-release CentOS release 6.6 (Final) [root@apache ~]# uname -r ...
- Linux文件查找与tar包管理、企业级sed应用 软件包管理与编译安装httpd
总结 第7节 Linux文件查找与tar包管理.企业级sed应用 使用locate命令 使用find命令 压缩和解压缩工具 01-文件搜索 locate (00:02:30) locate test. ...
- 在Ubuntu 14.04 64bit上编译安装Crtmpserver trunk svn 811版本!
这里仅在 在Ubuntu 12.04 64bit上搭建Crtmpserver视频点播服务 基础上补充一下在Ubuntu 14.04上编译安装Crtmpserver的方法,以作备忘.因为Ubuntu 1 ...
- 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 ...
- Fedora12上编译安装gdb-7.2
在Fedora12上编译安装gdb-7.2:编译安装gdb和gdbserver 1. 下载gdb7.2: ftp://sourceware.org/pub/gdb/releases/gdb-7.2a ...
最新文章
- quick-cocos2d-x游戏开发【3】——display.newSprite创建向导
- 【Android工具】最新测试谷歌play耗电情况,各种品牌安装谷歌play方法,GooglePlay...
- 扎克伯格做了26张PPT
- 用户微服务表结构介绍
- 【精选】Nginx模块Lua-Nginx-Module学习笔记(一)Nginx Lua API 接口详解
- 计算机win7内容已满,Win7旗舰版电脑C盘满了怎么清理
- 怎么修改腾讯视频的昵称
- 【原创】 Boost序列化自己手写实现简易版
- J2EE中使用jstl报http //java sun com/jsp/jstl/core cannot be reso
- python熵权法求权重
- 软考c语言题库,【中级】软考题库每日一练|4.4
- docker安装文档(多种方式)
- 全智通A+常见问题汇总解答—A+—配件仓库—维修领料—修改领料单后,明细不存在
- Windows常见扩展名介绍
- 实现联系人功能,右侧A~Z滑动
- D-Link宽带路由器设置全攻略
- Linux 中 which、whereis、locate、find的区别
- Codeforces Round #354 (Div. 2)-Theseus and labyrint
- 虹科分享 | 简单实用的CANopen介绍,看完你就明白了(2)——CANopen框架与七种服务类型
- 《Android NFC开发实战详解》——6.4节Android NFC P2P开发进阶