資源描述:
《Apache配置和tomcat》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、Apache?HTTP?Server?與?Tomcat?的三種連接方式介紹文檔選項將此頁作為電子郵件發(fā)送拓展?Tomcat?應用下載?IBM?開源?J2EE?應用服務器?WAS?CE?新版本?V1.1?級別:?初級劉?冬?(javayou@gmail.com),?開發(fā)工程師,? 2007?年?1?月?15?日整合?Apache?Http?Server?和?Tomcat?可以提升對靜態(tài)文件的處理性能、利用?Web?服務器來做負載均衡以及容錯、無縫的升級應用程序。本文介紹了三種整合?Apache?和?Tomcat?的
2、方式。首先我們先介紹一下為什么要讓?Apache?與?Tomcat?之間進行連接。事實上?Tomcat?本身已經提供了?HTTP?服務,該服務默認的端口是?8080,裝好?tomcat?后通過?8080?端口可以直接使用?Tomcat?所運行的應用程序,你也可以將該端口改為?80。既然?Tomcat?本身已經可以提供這樣的服務,我們?yōu)槭裁催€要引入?Apache?或者其他的一些專門的?HTTP?服務器呢?原因有下面幾個:1.?提升對靜態(tài)文件的處理性能2.?利用?Web?服務器來做負載均衡以及容錯3.?無縫的升級應用
3、程序這三點對一個?web?網站來說是非常之重要的,我們希望我們的網站不僅是速度快,而且要穩(wěn)定,不能因為某個?Tomcat?宕機或者是升級程序導致用戶訪問不了,而能完成這幾個功能的、最好的?HTTP?服務器也就只有?apache?的?http?server?了,它跟?tomcat?的結合是最緊密和可靠的。接下來我們介紹三種方法將?apache?和?tomcat?整合在一起。JK這是最常見的方式,你可以在網上找到很多關于配置JK的網頁,當然最全的還是其官方所提供的文檔。JK?本身有兩個版本分別是?1?和?2,目前?1
4、?最新的版本是?1.2.19,而版本?2?早已經廢棄了,以后不再有新版本的推出了,所以建議你采用版本?1。JK?是通過?AJP?協(xié)議與?Tomcat?服務器進行通訊的,Tomcat?默認的?AJP?Connector?的端口是?8009。JK?本身提供了一個監(jiān)控以及管理的頁面?jkstatus,通過?jkstatus?可以監(jiān)控?JK?目前的工作狀態(tài)以及對到?tomcat?的連接進行設置,如下圖所示:圖?1:監(jiān)控以及管理的頁面?jkstatus?在這個圖中我們可以看到當前JK配了兩個連接分別到?8109?和?820
5、9?端口上,目前?s2?這個連接是停止狀態(tài),而?s1?這個連接自上次重啟后已經處理了?47?萬多個請求,流量達到?6.2?個?G,最大的并發(fā)數(shù)有?13?等等。我們也可以利用?jkstatus?的管理功能來切換?JK?到不同的?Tomcat?上,例如將?s2?啟用,并停用?s1,這個在更新應用程序的時候非常有用,而且整個切換過程對用戶來說是透明的,也就達到了無縫升級的目的。關于?JK?的配置文章網上已經非常多了,這里我們不再詳細的介紹整個配置過程,但我要講一下配置的思路,只要明白了配置的思路,JK?就是一個非常靈活
6、的組件。JK?的配置最關鍵的有三個文件,分別是?httpd.conf?Apache?服務器的配置文件,用來加載?JK?模塊以及指定?JK?配置文件信息workers.properties?到?Tomcat?服務器的連接定義文件uriworkermap.properties?URI?映射文件,用來指定哪些?URL?由?Tomcat?處理,你也可以直接在?httpd.conf?中配置這些?URI,但是獨立這些配置的好處是?JK?模塊會定期更新該文件的內容,使得我們修改配置的時候無需重新啟動?Apache?服務器。其中
7、第二、三個配置文件名都可以自定義。下面是一個典型的?httpd.conf?對?JK?的配置#?(httpd.conf)#?加載?mod_jk?模塊LoadModule?jk_module?modules/mod_jk.so##?Configure?mod_jk#JkWorkersFile?conf/workers.propertiesJkMountFile?conf/uriworkermap.propertiesJkLogFile?logs/mod_jk.logJkLogLevel?warn接下來我們在?Apac
8、he?的?conf?目錄下新建兩個文件分別是?workers.properties、uriworkermap.properties。這兩個文件的內容大概如下##?workers.properties##?list?the?workers?by?nameworker.list=DLOG4J,?status#?localhost?server?1#?-------------