Linux下httpd 2.4 的编译安装
2017-07-11 08:45
711 查看
Linux下httpd 2.4 的编译安装
说明
相比于httpd2.2,httpd 2.4 依赖于更高版本的apr、apr-util,apr(apache runtime portable)是一个可以使apache跨平台运行的库。httpd2.4 需要1.4以上的版本的apr。同时,还要安装正则表达式的依赖(rpm -qi pcre)。apr和apr-util的下载地址: http://apr.apache.org/,pcre下载地址,http://www.pcre.org/。
httpd2.4新特性
MPM支持在运行时装载,--enable-mpms-shared=all(将所有的MPM模块进行编译) ,--with-mpm=event 设定默认的MPM。支持event形式的MPM,httpd2.2 中的event还处于测试状态。
支持异步读写
在每模块及每目录上指定日志级别
每请求配置:<If> <Elseif>
具有增强版的表达式分析器
毫秒级的keepalive timeout
支持主机名的虚拟主机不在需要NameVirtualHost指令
支持使用自定义变量
新增一些模块:mod_proxy_fcgi,mod_ratelimit,mod_request,mod_remoteip
对于基于IP的访问做了修改,不在使用order,allow,deny这些机制;而是统一使用require进行
安装步骤:
1) 解决依赖关系yum -y install pcre pcre-devel
在CentOS系统中编译安装httpd2.4时,出现错误:”util_pcre.c:128: error: 'PCRE_DUPNAMES' undeclared (first use in this function)“
解决方法:出现这个错误的原因是因为系统的的PCRE库版本太低了,需要下载安装较高版本的PCRE。
PCRE源码下载:http://www.pcre.org/
配置路径:./configure --prefix=/usr/local/pcre (pcre-8.37)
2) 编译安装apr (apr-1.5.2)
tar
cd
./configure --prefix=/usr/local/apr(更改安装路径,防止将系统中的文件替换掉)
make && make install
3) 编译安装apr-util (apr-util-1.5.4)
tar
cd
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
4) 编译httpd (httpd-2.4.18)
tar
cd
./configure --prefix=/usr/local/httpd24 --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most
--enable-mpms-shared=all --with-mpm=event
make && make install
./configure --prefix=/usr/local/httpd24 设定httpd的安装目录
--sysconfdir=/etc/httpd24 设定httpd的配置文件目录
--enable-so 支持共享模块,如果没有这个PHP模块无法加入
--enable--ssl 支持ssl
--enable-cgi 支持cgi
--enable-rewrite 支持url重写
--with-zlib 支持zlib压缩,传输层的压缩(不指定具体的路径,默认在系统中搜索)
--with-pcre 支持正则化(不指定具体的路径,默认在系统中搜索)
--with-apr=/usr/local/apr 指定apr的路径
--with-apr-util=/usr/local/apr-util 指定apr-util的路径
--enable-modules=most 指定要编译的模块(most/all)
--enable-mpms-shared=all 指定要编译mpm
--with-mpm=event 指定httpd默认的MPM的工作方式
编译httpd2.4出现的错误:(http://forum.directadmin.com/showthread.php?t=52400)
[plain] view
plain copy
print?
prefer-non-pic -static -c ssl_engine_log.c && touch ssl_engine_log.lo
make[3]: *** [ssl_engine_io.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory `/usr/local/directadmin/custombuild/httpd-2.4.18/modules/ssl'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr/local/directadmin/custombuild/httpd-2.4.18/modules/ssl'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/directadmin/custombuild/httpd-2.4.18/modules'
make: *** [all-recursive] Error 1
解决方法:打开httpd-2*/modules/ssl/ssl_engine_io.c的文件,在第220行的末尾添加上';'即可
后续的配置
1 导出头文件ln -sv /usr/local/appache/include /usr/include/httpd
2 导出库文件
ldconfig -p 显示当前系统的库文件
vim /etc/ld.so.conf.d/httpd.conf
3 导出帮助文件
vim /etc/man.config
在该文件中添加一个: MANPATH /usr/loacal/httpd24/man
man -M /usr/local/httpd24/man httpd ,指定路径
4 修改环境变量
vim /etc/profile.d/httpd.sh
export PATH=/usr/local/httpd24/bin:$PATH
使用apachectl httpd 启动httpd即可。
5 切换MPM
cp httpd.conf{,.bak}
vim httpd.conf , 编辑loadmodule,注释掉已有的mpm,开启要切换的mpm
相关文章推荐
- 我的linux学习之旅:(2)编译安装httpd2.4
- Linux下编译安装Apache httpd 2.4
- Linux系统源码编译安装httpd2.4
- linux 下 httpd 2.4 的编译安装
- linux 编译安装过程之httpd
- Linux入门之web服务(二)---应用实例httpd编译安装
- httpd-2.4编译安装及新特性详解 --LAMP
- https服务器的配置(一)编译安装apache2.4 (httpd)
- 初接触linux,源码编译安装httpd
- linux下hadoop 2.4的编译安装.
- 编译安装httpd2.4
- CentOS 6.4源码编译安装httpd并启动测试(转自linux公社)
- httpd-2.4编译安装
- 享受Linux中编译安装httpd的快感 "就是你了,httpd"
- linux下编译安装httpd
- httpd2.4之编译安装及配置参数详细说明
- linux下httpd软件的编译安装
- linux――源码编译安装httpd ERIKXUE薛忠权
- 源码编译安装 httpd2.4+MariaDB5.5+php5.4 全新的LAMP 推荐
- linux下安装Apache-httpd-2.4