Apache是一個(gè)web服務(wù)器環(huán)境程序,可以作為web服務(wù)器使用。不過只支持靜態(tài)網(wǎng)頁,如(asp,php,cgi,jsp)等動(dòng)態(tài)網(wǎng)頁的就顯得無能為力。 引用 如果要在Apache環(huán)境下運(yùn)行jsp 的話就需要一個(gè)解釋器來執(zhí)行jsp網(wǎng)頁,而這個(gè)jsp解釋器就是Tomcat, 為什么還要JDK呢?因?yàn)閖sp需要連接數(shù)據(jù)庫的話,就要jdk來提供連接數(shù)據(jù)庫的驅(qū)程,所以要運(yùn)行jsp的web服務(wù)器平臺(tái)就需要Apache+tomcat+JDK。不過作者認(rèn)為:最好不要在JSP頁面中有訪問數(shù)據(jù)庫的代碼。JSP的功能只是負(fù)責(zé)顯示。需要JDK的另一個(gè)原因是Tomcat是用JAVA語言實(shí)現(xiàn)的。 如果想讓服務(wù)器也能處理動(dòng)態(tài)頁面,那么就需要Tomcat。Tomcat能對(duì)JSP、Servlet進(jìn)行解析。 Apache+Tomcat整合的好處是: 引用 1)如果客戶端請(qǐng)求的是靜態(tài)頁面,則只需要Apache服務(wù)器響應(yīng)請(qǐng)求;如果客戶端請(qǐng)求的是動(dòng)態(tài)頁面,則讓Tomcat服務(wù)器響應(yīng)請(qǐng)求 2)Apache的特點(diǎn)是簡單、速度快、性能穩(wěn)定,并可做代理服務(wù)器來使用。本來它只用于小型或試驗(yàn)Internet網(wǎng)絡(luò),后來逐步擴(kuò)充到各種Unix系統(tǒng)中,尤其對(duì)Linux的支持相當(dāng)完美。Apache有多種產(chǎn)品,可以支持SSL技術(shù),支持多個(gè)虛擬主機(jī)。Apache是以進(jìn)程為基礎(chǔ)的結(jié)構(gòu),進(jìn)程要比線程消耗更多的系統(tǒng)開支,不太適合于多處理器環(huán)境,因此,在一個(gè)Apache Web站點(diǎn)擴(kuò)容時(shí),通常是增加服務(wù)器或擴(kuò)充群集節(jié)點(diǎn)而不是增加處理器。Apache成功之處主要在于它的源代碼開放、有一支開放的開發(fā)隊(duì)伍、支持跨平臺(tái)的應(yīng)用(可以運(yùn)行在幾乎所有的Unix、Windows、Linux系統(tǒng)平臺(tái)上)以及它的可移植性等方面。 幾乎所有的Linux發(fā)布都安裝Apache作為默認(rèn)配置。SuSE7.1甚至預(yù)安裝有包括各種高級(jí)模塊選項(xiàng)的Apache,如PHP3,mod_perl和LDAP等等。用戶會(huì)驚奇地發(fā)現(xiàn)系統(tǒng)安裝成功就會(huì)有一個(gè)功能強(qiáng)大的Web服務(wù)器可供選擇。雖然安裝Apache并不是非常簡單,但是如果有具有新的特性或安全補(bǔ)丁的Apache發(fā)布,則下載源代碼包并編譯新的Apache是值得的。 Apache不但具有龐大的用戶群基礎(chǔ),并且有豐富的配置使用文檔。Apache提供服務(wù)器端對(duì)腳本技術(shù)的支持,比如Perl、PHP等,Apache結(jié)合使用Apache JServ可以實(shí)現(xiàn)對(duì)Java servlets及JSP的支持。Apache的很多模塊實(shí)現(xiàn)安全方面的防護(hù):如mod_auth提供對(duì)對(duì)服務(wù)器上數(shù)據(jù)進(jìn)行適當(dāng)?shù)谋Wo(hù),而SSL模塊則用來保護(hù)服務(wù)器和客戶端之間的通信安全。 下面我們?cè)俳榻B一下Tomcat服務(wù)器軟件,Tomcat是Sun和Apache合作做出來的JSPServer,支持Servlet2.2及JSP1.1等版本。筆者建議大家使用Tomcat,而且Tomcat未來將會(huì)取代JServ,成為Apache主要的Servlet&JSPEngine。Tomcat在設(shè)計(jì)上是以獨(dú)立的Server執(zhí)行,而不像Jserv是附在Apache中,這樣就更可以發(fā)揮在servlet中,非HttpServlet的能力。Tomcat是Java程序,所以只要有JDK就可以使用,不需要考慮操作系統(tǒng)平臺(tái)?!?/div> 作為WEB服務(wù)器擴(kuò)展的Tomcat服務(wù)器有一些問題需要說明: 引用 當(dāng)處理靜態(tài)頁面時(shí),Tomcat不如Apache迅速。Tomcat不象Apache一樣可配置。Tomcat不象Apache一樣強(qiáng)壯?!?/div> 基于以上原因,一個(gè)現(xiàn)實(shí)的網(wǎng)站使用一個(gè)Apache作為Web服務(wù)器,為網(wǎng)站的靜態(tài)頁面請(qǐng)求提供服務(wù);并使用Tomcat服務(wù)器作為一個(gè)Servlet/JSP插件,顯示網(wǎng)站的動(dòng)態(tài)頁面。 采用apache+tomcat這樣的結(jié)構(gòu)才具有更特出的優(yōu)點(diǎn),主要體現(xiàn)在具有更好的可擴(kuò)展性和安全性。這種類型的站點(diǎn)的主要特點(diǎn)是每一個(gè)頁面都可能是動(dòng)態(tài)生成的,但這些數(shù)據(jù)中主要部分還是靜態(tài)的(比如,各類圖像GIF、JPG、PNG,流式媒體等),這種結(jié)構(gòu)的優(yōu)點(diǎn)是兼有可擴(kuò)展性和安全性。 總結(jié): apache+tomcat是企業(yè)級(jí)的應(yīng)用。 1.Apache主要用來解析靜態(tài)文本,如html,tomcat也有此功能,但apache能大大提高效率,對(duì)于并發(fā)數(shù)較大的企業(yè)級(jí)應(yīng)用,能更好的顯示apache的高效率; 2.Tomcat用來解析jsp,servlet等,所有的客戶請(qǐng)求首先會(huì)發(fā)送到apache,如果請(qǐng)求是靜態(tài)文本則由apache解析,并把結(jié)果返回給客戶端,如果是動(dòng)態(tài)的請(qǐng)求,如jsp,apache會(huì)把解析工作交給tomcat,由tomcat進(jìn)行解析(這首先要兩者現(xiàn)實(shí)整合),tomcat解析完成后,結(jié)果仍是通過apache返回給客戶端,這樣就可以達(dá)到分工合作,實(shí)現(xiàn)負(fù)載均衡,提高系統(tǒng)的性能! =============================================================================================================== =============================================================================================================== apche和tomcat整合的很多,apache和weblogic之類的應(yīng)用服務(wù)器整合也不少見。
apache作為一個(gè)http服務(wù)器,在響應(yīng)處理http請(qǐng)求方面和靜態(tài)頁面處理上有著很好的優(yōu)勢。如果靜態(tài)頁面多的(或者動(dòng)態(tài)生成靜態(tài)頁面的,比如很多新聞網(wǎng)站),還是推薦使用apache的。 盡管你的應(yīng)用沒有很多靜態(tài)頁面,你也可以通過apache和tomcat的整合獲得好處。整合apache和tomcat可以實(shí)現(xiàn)一個(gè)簡單的防火墻,把你的tomcat應(yīng)用部署在內(nèi)網(wǎng),由你的apache直接面向公網(wǎng)服務(wù),轉(zhuǎn)發(fā)http請(qǐng)求給內(nèi)網(wǎng)的tomcat,同時(shí),可以實(shí)現(xiàn)一個(gè)web層的集群,用apache作為集群管理器,達(dá)到一定的load balance和fail over功能。 |
|