关于这个问题分三步讲:1.下载最新版本;2.编译;3.安装
一:下载httpd 2.4的最新版本:(这里以Centos 7为例,Centos 6里用的是2.2版本的)
下载的话如何找下载路径—–>下载后是存在windows下,如何将其移进linux中
1.下载路径:
当然我们现在只要是碰到不会或者不知道的东西,通常会选择问度娘,这也可以,但还有一种方法,可以直接找到它的下载官网,只需复制粘贴就可以轻松找到: rpm -qi httpd —->就是查找已安装过的httpd的信息,有url源下载地址,复制粘贴到网页即可。若未安装,就用df查看一下光盘挂载点,进入挂载点下的Packages下,用rpm -qpi httpd 查询未安装的包的信息
如下图所示,到官网上选择需要下载的版本,这里我们在Centos 7里需要2.4的所以找到2.4.27最新版本,点击Download
出现如下两种可供选择的安装包.tar.bz2和.tar.gz的,这里我选择的是.tar.bz2的(不管选择哪种方式都可以,因为都是用tar命令打包压缩的,所以到linux下选择的解压缩方式都一样,都用tar xvf XX.tar.XX解包解压缩即可),直接点击就下载了,注意这是下载路径在windows下。
2.接下来就是将windows下的文件拷入到linux中,如下图所示;
这时会有一个小差错,就是当你在rz界面时间稍长的话,当你OK后文件并未拷进来,而需要再执行一次rz(这次只是输入rz回车就出现加载数据的信息,不出现上述页面),所以操作时注意一下
再一步就是将其解压缩了,执行命令: tar xvf httpd-2.4.27.tar.bz2 (xvf前“-”可加可不加,x:解包解压缩; v:将过程显示出来; f:–file 文件)
二:编译:
./configure编译——>make——>make install (前两步任何人都有权限做,最后一步只有root有权限;只有出现Makefile文件后才可以执行make操作) 具体步骤如下:
1.在下图中我们可以看到解压缩后的文件,cd进去后,先看一下里面的文件,(注意看一下,编译前后可以做个对比),我们一会需要用到“configure”执行文件进行编译,编译过程中会在此目录下多出名为“Makefile”的文件(有了它才可以进行下一步make的操作)
再看一下此目录下的service目录下的文件,现在出现的都是.c结尾的文件,
1.接下来执行./configure脚本:./configure –prefix=/app/apache24 –sysconfdir=/etc/apache24(–prefix:默认是/usr/local下,现在指定安装到/app/apache24下; –sysconfdir:指定配置文件路径),如果是第一次做,在这个过程中会报一些错:XXX not fond;这时候我们就需要使用yum search XXX-devel(不管是报哪个没找到,就在其后加上-devel 后search或者install就行),如下图所示:(search:在你不确定这个包名的具体是什么时,可以起到模糊查找的作用)
安装完报错的APR后继续执行一次编译,./configure –prefix=/app/apache24 –sysconfdir=/etc/apache24,处理方式同上
解决完一个问题后,就继续编译,直到编译到没有出现任何报错为止。当编译结果显示编译器找不到时,这时候我们就可以安装一个”Development Tools”的包组,不需要一个一个安装,这样可以为我们省去很多时间,而且安装这个包组也可以提前进行,这样到gcc就直接ok跳过了,如下图所示,安装包组使用yum groupinstall
我们可以看一下,安装这个包组总共下载了25项,这要是我们一步一步做意味着要做25步,每部要执行三条命令,,,,oh ,my god
再执行一遍./configure就ok了。这时,我们看一下下图所示的,在此目录下会多出来很多文件,但最主要的是Makefile这个文件,有了它,就意味着我们前一步做完了,可以执行make步骤了。
2.在命令行直接输入make回车即可,下图是执行过make后,在此目录下和server目录下均生成了一些以.o结尾的二进制文件。
3.下来执行第三步:make install ;在命令行直接输入,回车即可,这个时间稍微有点长,因为要检查下载很多东西,这个时间你可以去刷刷微博看看朋友圈呦。等命令执行结束后,我们会在/app/看到我们制定的目录apache24还有/etc/下的apache24
整个第二部结束,接下来就是最后步骤
三:安装(也就是启动我们刚安装的新版httpd)
我们首先看一下之前的httpd有没有安装,没安装就算了,安装过的话,就检查一下,是否开启,:systemctl status httpd,若是显示如下图所示界面,就说明已开启,就接着检查80端口是否开着,(既然httpd是开启正在运行的,就证明正用着80端口),:netstat -ntl(查看网络),果不其然是开着的,不信的话你在这种情况下去浏览器上,输入http://本地ip地址 测验一下,若刷不出任何信息,就去检查一下防火墙:systemctl status firewalld.service像下图所示,证明防火墙开着,使用systemctl stop firewalld.service将其关闭后就可以刷出来了
关闭防火墙后,如下图所示,果不其然,显示的是旧版的httpd的官方的界面,
既然我们安装了新版本的httpd,就像你手机上的app一样,有新版更新过后,肯定使用新版的对吧,所以我们需要关闭旧版,开启新版,命令: systemctl stop httpd.service关闭旧版的httpd服务;可以使用export PATH=/app/apache24/bin:$PATH设置环境变量,将服务所在的路径加到PATH里,可以直接使用apachectl start进行开启新版服务,(也可以不设环境变量路径,用/app/apache24/bin/apachectl start 开启),网页显示的内容放在/app/apache24/htdocs/index.html里,如下图所示
OK,这就算将新版httpd2.4版本的下载编译安装成功了,可以多敲几次练习一下,熟悉一下步骤,
原创文章,作者:M.Sun,如若转载,请注明出处:http://www.178linux.com/85392