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"