整合apache和tomcat構建Web伺服器

來源:互聯網
上載者:User

linux是最常用的web伺服器,本節我們將通過整合apache和tomcat構建一個java/jsp運行平台,詳細介紹web伺服器的搭建過程。

一、apache與tomcat整合的必要性

Apache是最流行的Web伺服器,開放原始碼,支援跨平台的應用(可以運行在幾乎所有的Linux、Unix、Windows系統平台上),尤其對Linux的支援相當完美。

apache的優點有:

功能強大,apache內建了很多功能模組,可根據需求編譯自己需要的模組。

配置簡單,apache的設定檔非常簡單,通過簡單的配置可實現強大功能。

速度飛快,apache處理靜態頁面檔案效率非常高,可以應對大並發和高負荷訪問請求。

效能穩定,apache在高負荷請求下效能表現卓越,執行效率非常高。

但是apache也有自身的缺點:

只支援靜態網頁,對於jsp、php等動態網頁不支援

Apache是以進程為基礎的結構,進程要比線程消耗更多的系統開支,因此,不太適合於多處理器環境。

Tomcat是Sun和Apache合作做出來的JSPServer,有如下優點:

支援Servlet和JSP,可以很好的處理動態網頁。

跨平台性好:Tomcat是Java程式,所以只要有JDK就可以使用,不需要考慮作業系統平台。

但是,tomcat也有自身缺點:

處理靜態頁面效率不高:Tomcat本身可以做為Web Server,但是tomcat在處理靜態頁面時沒有Apache迅速。

可配置性不強:tomcat不像Apache一樣配置簡單,穩定、強壯。

綜上所述,通過相互的整合剛好彌補了各自的缺點,通過整合可以實現:

用戶端請求靜態頁面時,由Apache伺服器響應請求。

用戶端請求動態網頁面時,則是Tomcat伺服器響應請求。

通過apache資訊過濾,實現網站動、靜頁面分離,保證了應用的可擴充性和安全性。

既然要讓Apache和Tomcat協調工作,就必需有一個連接器把它們聯絡起來,這就是下面要提到的Connector,下個小節具體講述Connector的選擇和使用。

二、 Apache和Tomcat連接器

Apache是模組化的web伺服器,這意味著核心中只包含實現最準系統的模組。擴充功能可以作為模組動態載入來實現。為了讓apache和tomcat協調工作,開源愛好者們開發出了很多可以利用的模組,在Apache2.2版本之前,一般有兩個模組可供選擇:mod_jk2和mod_jk,mod_jk2模組是比較早的一種連接器,在動、靜頁面過濾上可以使用Regex,因此使用配置靈活,但是mod_jk2模組現在已經沒有開發人員支援了,版本更新也就此停止。繼承jk2模組的是mod_jk模組,mod_jk模組支援Apache 1.x和2.X系列版本,現在一般都使用mod_jk做Apache和Tomcat的連接器。

在Apache2.2版本以後,又出現了兩種連接器可供選擇,那就是http-proxy和proxy-ajp模組,apache的proxy(代理)模組可以實現雙向代理,功能非常強大,從連接器的實現原理看,用http-proxy模組實現也是很自然的事情,只需開啟tomcat的http功能,然後用apache的proxy代理功能將動態請求交給tomcat處理,而待用資料交給apache自身就可以了。proxy-ajp模組是專門為tomcat整合所開發的,通過ajp協議專門代理對tomcat的請求。根據官方的測試,proxy-ajp的執行效率要比http-proxy高,因此在Apache2.2以後的版本,用proxy-ajp模組作為apache和tomcat的連接器是個不錯的選擇。

需要說明的是,這些串連功能的實現,都是通過在apache中載入相應的功能模組實現,比如上面提到的mod_jk、mod_jk2、proxy-ajp模組,都要事先通過源碼編譯出對應的模組,然後通過apache設定檔動態載入,實現連接器功能。這點也是apache的優勢所在。

在下面的講述中,我們將重點講述mod_jk作為連接器的安裝配置與實現。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.