httpd的编译安装及其服务配置
httpd-2.4版本新特性介绍。
在生产环境中,httpd服务在为了更适的贴合实际需求。往往需要我们自己编译安装定制适合自己的服务。这里使用最新版本httpd-2.4版本来进行编译安装的操作。编译安装前需要介绍一些关于httpd-2.4版本的一些新特性。
1.MPM:支持运行时动态装载;
--enable-mpms-shared-all=all 这个选项表示把三个模块的都编译进来 --with-mpm=prefork|worker|event 默认使用那个模块 (也已经完成支持支持event)
2.支持异步读写;
这里面异步读写尤其是在event模式下,能够很好的提高I/O性能。
3.支持每模块及目录分别使用不同的日志级别;
4.增强版的表达式分析器;
5.支持毫秒级的Keepalive timeout (**),这个在生产中比较有用。
6.基于FQDN的虚拟主机不在需要NameVitualHost;而且基于IP限制访问的配置也不再支持Order Allow , deny模式。
httpd-2.4编译安装是的问题和建议
1.httpd在编译安装时由于存在依赖关系,所以我们一般不建议卸载原来系统自带的httpd程序,而是通过给予新的httpd的包新的路径的方式来解决问题。
2.我这里安装的httpd-2.4需要依赖于apr-1.4以上的包,所以在编译安装之前,需下载apr-1.4版本以上的安装包,我这使用的是apr-1.5.0版本的源码包。
3.除此apr之外,新版的httpd还依赖apr-util包,但是由于apr-util依赖于apr包。所以这里需要先安装apr的包。
4.所有这些包都安装完成后,我们开始下载httpd-2.4版本的源码包。
另外,给出一点建议由于我们这里安装的源码包比较多,而且建议下载完第一包之后,进行编译安装然后利用安装的时间进行第二个的下载和解压。
httpd-2.4编译前准备:
编译前准备:每一次编译安装源码包都要实现配置好安装的编译环境。我们这里需要安装的源码包主要有:"Devellopmnet Tools" "server platform development"
使用yum grouplist | grep -i "Development tools" 来进行查询是否安装过。另外还需要安装包"pcre-devel"
1.在进行编译安装之前,由于的不同的包安装可能存在差异,有时需要阅读源码包中的README文件。下面./configure --prefix=/usr/local/apr15。这里下载源码包的过程就不在演示,直接进入编译环节。首先是编译安装apr,我这里是将自己源码包解压放在放在/usr/local。安装时指定路径--prefix=/usr/local/apr15。这样的目的是为了以后卸载时候能够方便一次性卸载删除。
2.#make && make install 在执行玩这一步之后,我这里查看文件没有报错信息,而且生成了makefile文件那么下一步可以继续执行了。
3.这步完成之后,我这里没有出现错误。下面就可以继续安装apr-util了。但是由于安装apr-util需要依赖apr包这里需要指明依赖包的为 --with-apr=/usr/local/apr15.
4.同样的执行下#make && make install 这里不在截图。
编译安装httpd-2.4过程
1.在编译安装httpd-2.4之前基于那些新改变需要介绍一些对应的选项。 --enable-so 支持DOS --enable-ssl 支持ssl --enable-cgi 支持cgi --enable-rewrite 支持url路径重写 --with-zlib支持zlib --with-pcre 支持使用pcre --with-apr=/usr/local/apr 指明依赖的apr --with-apr-util=/usr/local/apr-util/ 指明依赖的apr-util --enable-mpms-shared=all 指明安装所有的包 --with-mpm=prefork使用默认的模块。这些选项可以根据自己需要自行选择,那么我这里测试安装就之安装一部分即可。
2.下面就是 make && make install
这样安装好了之后,我们可以开始对应的配置服务了。
编译好之后添加服务脚本
由于我们原本的基于rpm包安装的httpd没有卸载,这里其实没有必要全部重写服务脚本,直接cp 一份稍加修改即可。
#cp /etc/rc.d/init.d/httpd /tmp #cd /tmp #vim httpd
很显然我们这里apachectl路径发生了变化,所以我这里修要修改的配置就是这里和下面的。
除此之外还要注释掉这个if 语句。
这样一个这个服务脚本就写好了。下面我们来添加脚本并启动。
#cd /usr/local/apache/conf/httpd #vim httpd #PidFile /var/run/httpd/httpd.pid //到/usr/local/apache/conf/httpd 文件下添加pidfile路径 #cd /tmp #mv httpd httpd24 #cp httpd24 /etc/rc.d/init.d/ #chkconfig --add httpd24 #vim /etc/profile.d/httpd.sh #export PATH=/usr/local/apache/bin:$PATH #service httpd24 start #chkconfig--list | grep "httpd"
下面一篇博客会学习关于httpd配置服务。