共计 3573 个字符,预计需要花费 9 分钟才能阅读完成。
CentOS 6.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 加载的模块
CentOS 6.5 编译安装 httpd-2.4.7 http://www.linuxidc.com/Linux/2014-02/97265.htm
httpd 中工作模型的比较 http://www.linuxidc.com/Linux/2014-03/99093.htm
源码编译安装 httpd2.4 及虚拟主机 http://www.linuxidc.com/Linux/2014-08/105384.htm
编译安装最新版 httpd-2.4 http://www.linuxidc.com/Linux/2014-03/98761.htm
httpd2.4 基本功能的实现 … http://www.linuxidc.com/Linux/2014-03/98762.htm
Apache Httpd 服务器之基础教程 http://www.linuxidc.com/Linux/2015-02/114007.htm
更多 CentOS 相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14