1. 程式人生 > >Apache2.2和Tomcat6整合

Apache2.2和Tomcat6整合

Apache2.2和Tomcat6整合

Apache和Tomcat同是Apache基金會下面的兩個專案。

  一個是HTTP WEB伺服器,另一個是servlet容器(servlet container),最新的6.0.X系列實現Servlet 2.4/JSP 2.0Spec。在我們生產的環境中,往往需要Apache做前端伺服器,Tomcat做後端伺服器。此時我們就需要一個聯結器,這個聯結器的作用就是把 所有Servlet/JSP的請求轉給Tomcat來處理。在Apache2.2之前,一般有兩個元件可選擇。mod_jk和mod_jk2。後來 mod_jk2沒更新了,轉而更新mod_jk,所以現在一般都使用mod_jk做Apache和Tomcat的聯結器。要指出的是mod_jk支援 Apache 1.x和2.X系列。

  不過,自從Apache2.2出來後,你又多了種選擇,那就是proxy-ajp.大家知道Apache裡的proxy模組,可以實現雙向代理功能,功能 非常強大。其實從聯結器的實現原理上來說,用proxy模組來實現是非常自然的。proxy模組的功能無非就是把相關的請求發給特定的主機再返回結果。那 聯結器的功能需求就是要把所有對Servlet/JSP的請求都轉給後臺的Tomcat。而且所FreeBSD郵件列表上說,使用proxy-ajp要比 mod_jk的效率要高。就我一個外行來看,至少使用Apache自帶模組,要比另外編譯的來得可靠。

  apache2.2和tomcat5.5是一個不錯的組合,可以作為開發環境或者是工作伺服器。在配置前需要下載以下幾個檔案:

1.下載JDK:版本jdk1.6.0_10.exe

2.下載apache2.2:版本:apache_2.2.11-win32-x86-no_ssl.msi http://httpd.apache.org/

 3.下載tomcat6 :版本apache-tomcat-6.0.18.exe

  一、安裝和配置JDK

  JDk的安裝(參照Jsp開發環境配置.doc),但一定不要忘了設環境變數。

  二、安裝和測試apache

  在安裝前如已安裝了IIS,請先停止IIS服務。因為IIS和apache都預設使用80埠,否則會衝突。

  同樣直接執行安裝apache_2.2.11-win32-x86-no_ssl.msi,建議選擇簡單的路徑,如D:\ apache2.2。安裝時會要求輸入一些關於這臺伺服器的資訊,如域名、管理員郵箱,這些資訊將會加入到httpd.conf檔案中。

  安裝完配置httpd.conf檔案,在D\:apache2.2\conf下

  用文字編緝器開啟httpd.conf,在DirectoryIndex index.html後新增index.jsp

  測試,在IE中輸入http://localhost/,如果apache工作應該可以看到"It works!"這樣的頁面。

  三、安裝和測試tomcat

  直接執行安裝tomcat,安裝路徑為D:\tomcat 6.0

  安裝完後新增環境變數TOMCAT_HOME,變數值為"D:\Tomcat 6.0"(參照Jsp開發環境配置.doc)最後測試tomcat,因為tomcat預設使用了8080埠,所以在IE輸入http://localhost:8080,正常工作會看見一隻小貓的頁面。

  四、整合apache和tomcat

  網上很多是通過mod_jk來整合的,由於apache2.2本身已經支援tomcat了,所以這裡用proxy來整合tomcat,先把apache和tomcat都停止了。然後開啟(d:\apache2.2\conf)httpd.conf檔案,把

  LoadModule proxy_module modules/mod_proxy.so

  LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

  前面的#號去掉,在httpd.conf檔案最後新增

  ProxyPass /images/ !

  ProxyPass / ajp://127.0.0.1:8009/

  ProxyPassReverse / ajp://127.0.0.1:8009/

  上面幾名只是對apache進行簡單的優化。

  五、最後測試整合後的apache+tomcat

  啟動apache,再啟動tomcat,準備以下程式碼的jsp檔案,以便測試。

<%@ page contentType="text/html;charset=gb2312" %>

<HTML>

<HEAD>

<TITLE>JSP測試頁面</TITLE>

</HEAD>

<BODY>

<%out.println("<h1>Hello World! </h1>");%>

</BODY>

</HTML>

  儲存為test.jsp

  在D:\tomcat 6.0\webapps\ROOT下新建一個資料夾test,並把test.jsp放在裡面。

  在IE中輸入http://localhost:8080/test/test.jsp

  再輸入http://localhost/test/test.jsp

  如果兩次都顯示Hello World!說明已經成功整合了。