首先我們應(yīng)該對應(yīng)用服務(wù)器和web服務(wù)器有一個清晰的概念。所謂的應(yīng)用服務(wù)器,就是提供應(yīng)用的服務(wù)器,這里的應(yīng)用有很多,比如java應(yīng)用,ruby 應(yīng)用,或者 c#應(yīng)用。
那么什么是web服務(wù)器呢?就是提供了web功能的服務(wù)器,主要就是http服務(wù),包括圖片的下載,等等一系列和web相關(guān)的。
為什么我們不能直接使用應(yīng)用服務(wù)器?應(yīng)用服務(wù)器也提供了http服務(wù),比如tomcat。
那么我們從實際出發(fā)。當你瀏覽一個網(wǎng)頁的時候,什么情況下你會覺得速度很慢?我們僅僅考慮頁面本身。那當然是圖片越多顯示得越慢。
好吧,我們至少認識到一點,一些靜態(tài)資源,例如圖片,會嚴重影響頁面打開的速度。當然,這僅僅是一個方面。
那么web服務(wù)器有什么用呢?web服務(wù)器一個優(yōu)點就是在處理靜態(tài)信息上。例如一些靜態(tài)的html,圖片,等等其他靜態(tài)的東西。
那為什么tomcat不能具備這些優(yōu)點?這個問題我們可以換一個說法:為什么會計不能做市場營銷呢?
所以嘛,臣家要分工明確,應(yīng)用服務(wù)器就做好它該做的:如何解釋一個jsp,如何處理java文件等等,做好這一點就足夠了。而web服務(wù)器也做好它該做的:如何快速向瀏覽器傳遞信息,如何快速地讓瀏覽器下載圖片。
那你又問了,那為啥tomcat還提供一個http服務(wù)?那不是讓你開發(fā)方便嘛!千萬別把tomcat的http服務(wù)當成是一個web服務(wù)器。
說了這么多,那么我們對應(yīng)用服務(wù)器和web服務(wù)器的整合也應(yīng)該心里有數(shù)了。就拿tomcat和iis整合來說事吧!
我們到底想干什么呢?很明顯,我們想讓tomcat 處理對 java應(yīng)用的請求,而iis應(yīng)該處理圖片,css 等等其他靜態(tài)資源的事情。
具體的細節(jié)不談了,無非就是配置 ispai_redirect 這個東東。因為我們主要說的分工問題,所以還是說說這個 uriworkermap.properties 文件。
這個文件就是處理分工的用的。例如我定義成如下這個樣子:
/www.abc.com/eshop/*.do=ajp13
/www.abc.com/eshop/dwr/interface/*=ajp13
/www.abc.com/eshop/dwr/*=ajp13
/www.abc.com/eshop/js/*=ajp13
那么就告訴了 isapi_redirect , 以上4種請求,都交給tomcat處理。
那么其他的請求呢?當然是交給 iis了。
如果我定義成這個樣子:
/* = ajp13
這下可慘了,iis被你浪費了,就好像你招聘了一個會計和一個推銷的人員,但是讓會計干財務(wù)的活之外,還干了推銷。而推銷人員給閑置了。
至于 uriworkermap.properties 的詳細配置,可以參考 tomcat 網(wǎng)站,上面有詳細的講解。
兩種服務(wù)器的整合雖然不難,但是如果不明白其中的意義和原理,一旦項目配置有所變化,那就是沒有葫蘆就畫不出來瓢了。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |