基於最新版本httpd-2.4編譯安裝及其服務配置(上)

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。這樣的目的是爲了以後卸載時候能夠方便一次性卸載刪除。

wKiom1SO45DA2j02AAA_QqRxeQA482.jpg

    2.#make && make install 在執行玩這一步之後,我這裏查看文件沒有報錯信息,而且生成了makefile文件那麼下一步可以繼續執行了。


    3.這步完成之後,我這裏沒有出現錯誤。下面就可以繼續安裝apr-util了。但是由於安裝apr-util需要依賴apr包這裏需要指明依賴包的爲 --with-apr=/usr/local/apr15.

wKiom1SO6O7CeuYVAACRNR0qEhI424.jpg

    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使用默認的模塊。這些選項可以根據自己需要自行選擇,那麼我這裏測試安裝就之安裝一部分即可。

wKioL1SO7ubymzIUAAElVUVTVzc804.jpg

    2.下面就是 make && make install

    這樣安裝好了之後,我們可以開始對應的配置服務了。

  


編譯好之後添加服務腳本    

    由於我們原本的基於rpm包安裝的httpd沒有卸載,這裏其實沒有必要全部重寫服務腳本,直接cp 一份稍加修改即可。

     #cp /etc/rc.d/init.d/httpd /tmp 
     #cd /tmp 
     #vim  httpd

   wKioL1SPA8yTvVYSAAE4pd_gDmo190.jpg

     很顯然我們這裏apachectl路徑發生了變化,所以我這裏修要修改的配置就是這裏和下面的。

    wKiom1SPBA-RoDXUAACE3Vx77ok628.jpg

    除此之外還要註釋掉這個if 語句。

wKioL1SPBPzQAA3iAABgl4Q5TD0721.jpg

    這樣一個這個服務腳本就寫好了。下面我們來添加腳本並啓動。

   

     #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"

     wKioL1SPCwKR0xDXAAEUaGHZsQE895.jpg    下面一篇博客會學習關於httpd配置服務。







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章