關于這個問題分三步講: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.www58058.com/85392