httpd2.4编译安装

一、编译安装Apache

1.  环境准备:

2.    Apache2.4.9+新特性

Apache-2.4+的一些新特性(参见https://httpd.apache.org/docs/2.4/zh-cn/new_features_2_4.html)

1.       运行时可装载的MPM

多的MPM现在可以构建为可加载模块在编译时。选择的MPM可以通过运行时配置的LoadModule指令。

2.       事件MPM(完全支持)

3.       异步支持

异步读/写支持的MPM和平台更好的支持。

4.       每个模块和每个目录的LogLevel配置

LogLevel,现在每个模块和每个目录进行配置。新的水平TRACE1 到trace8上述已添加的调试日志级别。

5.     每个请求的配置节

<如果> <elseif>,和<其它> 部分可以被用于设置根据每个请求的标准配置。

6.     通用表达式解析器

一个新的表达式解析器允许指定 复杂条件下像指令使用通用语法 SetEnvIfExpr RewriteCond指令  <如果>,及其他。

7.     KeepAliveTimeout的以毫秒为单位

现在有可能以指定KeepAliveTimeout毫秒。

8.     NameVirtualHost指令

不再需要,现在已经过时。

9.     覆盖配置

AllowOverrideList 指令允许该指令被允许在更细粒度控制.htaccess文件。

10.  配置文件变量

它现在可以定义 变量的结构中,允许更清楚地表示,如果相同的值是在配置许多地方使用。

11.  减少内存使用

12.   尽管有许多新的功能,2.4.x的倾向于使用比2.2.x中更少的内存

当然,在httpd2.4上也增加一个一些新的模块,大家可以参考apache网站

3.     服务平台搭建

选择编译安装程序包,就必须确保已经配置好了开发平台,以及服务的开发平台

yum groupinstall “Development tools” “Server Platform Development �y”
yum install �y “pcre-devel”
yum install �y lrzsz  #提供的是上传和下载的功能
4.    编译安装apr
tar xf apr-1.5.0.tar.bz2
cd apr-1.5.0
./configure --prefix=/usr/local/apr
make && make install


作用:apr:apache portable run-time是apache运行时环境,为了能使apache运行在不同的平台上并且能使用同样的机制,所以apr能够抹除不同系统的数据库,让apache运行环境的机制都一样,并且能让apache的某些特性跨平台的使用

5.    编译安装apr-util
# tar xf apr-util-1.5.3.tar.bz2
# cd apr-util-1.5.3
# ./configure --prefix=/usr/local/apr-util--with-apr=/usr/local/apr
# make && make install


2.  编译安装httpd2.4.9

1.编译Apache2.4.9
# tar xf httpd-2.4.9.tar.bz2
# cd httpd-2.4.9
# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24--enable-so 
--enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-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


注意:在安装过程中,可能会出现一些错误,提示什么程序包没有安装,你可以把它安装后重新编译httpd

我遇见的问题有checking for OpenSSL version >= 0.9.8a... FAILEd

我的解决方案是yuminstall -y openssl-devel

2. 补充:

1)构建MPM为静态模块

在全部平台中,MPM都可以构建为静态模块。在构建时选择一种MPM,链接到服务器中。如果要改变MPM,必须重新构建。为了使用指定的MPM,请在执行configure脚本时,使用参数 --with-mpm=NAMENAME是指定的MPM名称。编译完成后,可以使用 ./httpd -l 来确定选择的MPM此命令会列出编译到服务器程序中的所有模块,包括 MPM

2)构建 MPM 为动态模块httpd -M

Unix或类似平台中,MPM可以构建为动态模块,与其它动态模块一样在运行时加载。构建 MPM 为动态模块允许通过修改LoadModule指令内容来改变MPM,而不用重新构建服务器程序。在执行configure脚本时,使用--enable-mpms-shared选项即可启用此特性。当给出的参数为all时,所有此平台支持的MPM模块都会被安装。还可以在参数中给出模块列表。默认MPM,可以自动选择或者在执行configure脚本时通过--with-mpm选项来指定,然后出现在生成的服务器配置文件中。编辑LoadModule指令内容可以选择不同的MPM

3. 参数设置
1. 导出库设置
[root@bogon apache]# ln -s /usr/local/apache/include/ /usr/include/httpd24


2. 输出二进制程序
Vim /etc/profile.d/httpd24.sh
Export PATH=/usr/local/apach/bin:$PATH
Source /etc/profile.d/httpd24.sh


3.导出man手册
Vim /etc/man.config
MANPATH /usr/local/apache/man
4.测试
apachectl start
curl (本机ip地址)

5.添加服务脚本

关闭服务

Apachectl stop

修改httpd的主配置文件,设置其Pid文件的路径,编辑/etc/httpd24/httpd.conf,添加如下行即可:

PidFile  "/var/run/httpd24.pid"

提供SysV服务脚本,

cp /etc/rc.d/init.d/httpd{,.bak}

vim /etc/rc.d/init.d/httpd,修改一下的内容即可,路径就是编译安装apache的路径

httpd2.4编译安装_第1张图片

加入服务列表:

# chkconfig --add httpd

接下来就可以启动服务进行测试了。

Service httpd start


你可能感兴趣的:(httpd,编译)