Apache+tomcat的整合

一.Apache HTTPD與Tomcat介紹 
     Apache HTTPD(HTTP Server)是當前使用最爲廣泛的WWW服務器軟件,具有相當強大的靜態HTML處理的能力。它不但功能強大,而且完全免費,並且支持市場上流行的各種操作系統(Windows,Linux,Mac OS)。 
     Tomcat服務器是一個免費的開放源代碼的Web應用服務器,它是Apache軟件基金會(Apache Software Foundation)的Jakarta項目中的一個核心項目,由Apache、Sun和   其他一些公司及個人共同開發而成。由於有了Sun的參與和支持,最新的Servlet和JSP   規範總是能在Tomcat中得到體現,Tomcat5支持最新的Servlet 2.4和JSP 2.0規範。因爲Tomcat技術先進、性能穩定,而且免費,因而深受Java愛好者的喜愛並得到了部分軟件開發商的認可,成爲目前比較流行的Web應用服務器。
     Tomcat和IIS、Apache HTTPD等Web服務器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。 

二.爲什麼需要整合 

整合的最主要原因是爲了在現有的硬件條件下提供最大的負載。 

如果單獨使用Tomcat做JSP服務器,在工作效率上會存在問題,Tomcat對於靜態的html文件、圖片文件等的解析效率上不如Apache HTTPD,並且所能承受的最大併發連接數也有一定的限制。
在測試中,當併發連接較多時,Tomcat就會處於“僵死”狀態,對後繼的請求連接失去響應。所以現在提出一個“整合”解決方案:將html與jsp的功能部分進行明確分工,讓tomcat只處理jsp部分,其它的由apache HttpD這個web server處理。Apache HttpD與Tomcat各司其職,那麼服務器的整體效率就能夠得到提升。 

三.整合的基本原理 

作爲Apache下面的子項目,Tomcat 與 Apache HttpD之間有着天然的聯繫。在實際操作中,主要是Apache HttpD作爲主服務器運行,當監聽到有jsp或者servlet的請求時,將請求轉發給tomcat服務器,由tomcat服務器進行解析後,發回apache HttpD,再由apache HttpD發回用戶。 

在tomcat中有兩個監聽的端口,一個是8080用於提供web服務,一個是8009用於監聽來自於apache HttpD的請求。當apache HttpD收到jsp或者servlet請求時,就向tomcat 的8009端口發送請求,交由tomcat處理後,再返回給apache HttpD,由apache HttpD返回給客戶。


準備工作:
1、  apache HTTP Server 2.2.15
http://apache.etoak.com/httpd/binaries/win32/httpd-2.2.15-win32-x86-openssl-0.9.8m-r2.msi 
2、  Tomcat 6.0.26
http://apache.etoak.com/tomcat/tomcat-6/v6.0.26/bin/apache-tomcat-6.0.26-windows-x86.zip 
3、  JDK 1.6.0._10
http://java.sun.com/javase/downloads/widget/jdk6.jsp 
4、  tomcat-connectors/jk 1.2.30
http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.30/mod_jk-1.2.30-httpd-2.2.3.so 

安裝,軟件的安裝順序可以適當調整,但是jre(jdk)一定要在tomcat之前安裝:
1、安裝JRE(JDK)
此處選擇默認安裝即可,(舊版本的JDK安裝完之後需要設置系統的環境變量,JRE和JDK1.5.0以後版本不設置也沒關係。)安裝完成之後你可以選擇按照下面的示例設置你的系統環境變量:我的電腦->右鍵屬性->常規->高級->環境變量
CATALINA_HOME=D:\Tomcat6
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_10
注意文件路徑要改成你實際安裝的路徑。

2、Apache安裝
此處注意,如果你本機已經裝了iis並且佔用80端口,務必先在服務中將iis停止或禁用。軟件默認安裝即可。安裝過程中設置Network Domain和Server Name爲localhost,設置你的email地址,下方會讓你選擇only for the current user或for all users。默認選擇for all users。這樣Apache就會佔用80端口,並且做爲一個系統服務開機自運行。
Apache的安裝目錄可以自由決定,我的是D:\Apache2.
安裝完成之後,你在瀏覽器中輸入http://localhost ,將會看到Apache的成功頁面. 此時Apache,已經運行,你可以在窗口的托盤看到他的圖標,雙擊圖標,在彈開的窗口選擇"Open Apache Monitor",點Stop,停止Apache服務,因爲下面要安裝Tomcat和JK.

3、Tomcat安裝
選擇安裝目錄爲了D:\Tomcat6,其餘爲默認安裝.成功後在瀏覽器中輸入http://localhost:8080 ,出現Tomcat頁面表示安裝成功了。關於tomcat的設置已經有很多非常詳細的文章,在此就不再詳述了。

4、JK的安裝
把mod_jk-1.2.30-httpd-2.2.3.so拷貝到D:\Apache2\modules\下.
以上安裝全部完成後,打開cmd命令提示符,運行d:\Apache\Apache2\bin\Apache.exe -t 你將會看到"Syntax OK",表示Apache配置正常.這個命令非常有用,下面在繼續配置Apache的時候還會再次用到。

配置服務器:
1、配置Tomcat
查找Tomcat目錄下的 conf/server.xml文件,在<host></host>中間加入以下語句以修改其默認的目錄:
<Context path="" docBase="D:\wwwroot" reloadable="true" crossContext="true"/>
在這裏,如果 path 不爲空,則設置的是虛擬目錄,path 的值爲虛擬目錄名。

查找目錄下的conf/workers.properties文件,並對比下方文本內容,如有不同以下方內容爲準修改,如果文件不存在則創建並填充以下內容。
workers.tomcat_home=D:\Tomcat6 #讓mod_jk模塊知道Tomcat的位置
workers.java_home=C:\Program Files\Java\jre6 #讓mod_jk模塊知道jre的位置
ps=\
worker.list=ajp13 #模塊版本
worker.ajp13.port=8009 #工作端口,若沒佔用則不用修改
worker.ajp13.host=localhost #本機,若上面的Apache主機不爲localhost,作相應修改
worker.ajp13.type=ajp13 #類型
worker.ajp13.lbfactor=1 #代理數,不用修改

2、配置Apache
打開D:\Apache2\conf下的httpd.conf,在一系列LoadModule最後加入下面這段代碼並保存,其中DocumentRoot、ServerName、DirectoryIndex這幾項是原來就存在的,這裏要做的是更新它們的設置。

#設置Apache與Tomcat之間的連接,讓Apache遇到jsp文件時,在後臺將其交由Tomcat去處理
LoadModule jk_module modules/mod_jk-1.2.30-httpd-2.2.3.so
#此處mod_jk的文件爲你下載的文件
JkWorkersFile "D:/Tomcat6/conf/workers.properties"
#指定tomcat監聽配置文件地址
JkLogFile "D:/Tomcat6/logs/mod_jk2.log" 
#指定日誌存放位置
JkLogLevel info
JkMount /servlet/* ajp13 
#讓Apache支持對servlet傳送,用以Tomcat解析
JkMount /*.jsp ajp13 
#讓Apache支持對jsp傳送,用以Tomcat解析
JkMount /*.do ajp13 
#讓Apache支持對.do傳送,用以Tomcat解析

#查找到DocumentRoot,並將其設爲D:/wwwroot
DocumentRoot "D:/wwwroot" #您的站點項目所在路徑,應與tomcat中的目錄設置相同
#查找到ServerName,並將其設爲localhost,這個因人而異
ServerName localhost
#查找到DirectoryIndex,並在其後增加index.htm index.jsp
DirectoryIndex index.html index.htm index.jsp

# 開頭的行爲註釋,可以刪除。實際上,Apache的配置可以非常靈活,你也可以採用虛擬目錄的方式。

所有的修改完成這後,再次執行d:\Apache\Apache2\bin\httpd.exe -t 如果看到"Syntax OK",說明你所有配置無誤,雙擊窗口的托盤中的圖標,然後點擊Start運行。在D:\wwwroot下創建一個頁面index.jsp,裏面簡單的寫幾句話。
在地址欄中分別輸入http://localhost/index.jsp ,與http://localhost:8080/index.jsp 若結果相同,Apache與Tomcat整合成功。

發佈了11 篇原創文章 · 獲贊 2 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章