|
Posted on 2007-08-12 11:11 ricki 閱讀(391) 評論(0) 編輯 收藏 所屬分類: 負載均衡配置
Apache和Tomcat同是Apache基金會下面的兩個項目。一個是HTTP WEB服務器,另一個是servlet容器(servlet container),最新的5.5.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 http://192.18.108.228/ECom/EComTicketServlet/BEGIN7CF7E6A4BCB54064E5D90FCCE00D7048/-2147483648/1579524843/1/732086/731822/1579524843/2ts+/westCoastFSEND/jdk-1.5.0_07-oth-JPR/jdk-1.5.0_07-oth-JPR:2/jdk-1_5_0_07-windows-i586-p.exe2.下載apache2.2 http://mirror.vmmatrix.net/apache/httpd/binaries/win32/apache_2.2.2-win32-x86-no_ssl.msi3.下載tomcat5.5.17 http://apache.justdn.org/tomcat/tomcat-5/v5.5.17/bin/apache-tomcat-5.5.17.exe一、安裝和配置JDK 下載下來后,直接執行jdk-1.5.0_07-oth-JPR:2/jdk-1_5_0_07-windows-i586-p.exe 實裝時建議選擇簡單的路徑,如E:\Web_Server\jdk1.5.0\ 安裝最后會要求安裝jre,繼續下一步就行,安裝路徑E:\Web_Server\jre1.5.0\。
裝完后添加或編緝三個系統變量(已經有就編緝,沒有就新建): 在PATH變量尾加在";E:\Web_Server\jdk1.5.0\bin\" (注意有個分號) 新建Web_Server_HOME變量,值為 "E:\Web_Server\jdk1.5.0\" 新建CLASSPATH變量,值為 "E:\Web_Server\jdk1.5.0\lib\tools.jar"
二、安裝和測試apache 在安裝前如已安裝了IIS,請先停止IIS服務。因為IIS和apache都默認使用80端口,否則會沖突。 同樣直接運行安裝apache_2.2.2-win32-x86-no_ssl.msi,建議選擇簡單的路徑,如E:\Web_Server\ apache2.2\。安裝時會要求輸入一些關于這臺服務器的信息,如域名、管理員郵箱,這些信息將會加入到httpd.conf文件中。
安裝完配置httpd.conf文件,在E:\Web_Server\apache2.2\conf\下 用文本編緝器打開httpd.conf,在DirectoryIndex index.html后添加index.jsp
測試,在IE中輸入http://localhost/,如果apache工作應該可以看到"It works!"這樣的頁面。
三、安裝和測試tomcat 直接運行安裝tomcat,安裝路徑為E:\Web_Server\tomcat5.5\ 安裝完,好像步驟一,添加一個系統變量TOMCAT_HOME,變量值為"E:\Web_Server\tomcat5.5\" 最后測試tomcat,因為tomcat默認使用了8080端口,所以在IE輸入http://localhost:8080,正常工作會看見一只小貓的頁面。
四。整合apache和tomcat 網上很多是通過mod_jk來整合的,由于apache2.2本身已經支持tomcat了,所以這里用proxy來整合tomcat,先把apache和tomcat都停止了。然后打開httpd.conf文件,把 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so 前面的#號去掉,在文件最后添加 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 在E:\Web_Server\tomcat5.5\webapps\ROOT\下新建一個文件夾myjsp,并把test.jsp放在里面。 在IE中輸入http://localhost:8080/myjsp/test.jsp 再輸入http://localhost/myjsp/test.jsp 如果兩次都顯示Hello World!說明已經成功整合了。
============================ 方法之二: Windows環境下的tomcat + apache配置(絕對實踐操作版) 關鍵詞: tomcat apache
Apache的HTTPD是目前比較受歡迎的網站服務器軟件,它不但功能強大,而且完全免費,并且支持市場上流行的各種操作系統(Windows, Linux,Mac os)。同時對于Java Servlet/JSP的支持,通常也會使用同樣Apache出品的Tomcat。 Tomcat除了支持Java Servlet/JSP之外,也可以當做網站服務器使用,但是在對于靜態的html文件、圖片文件等的解析效率上不如Apache HTTPD的執行效率高。應用tomcat的服務器如果網站的訪問量較大,系統資源占用會明顯升高,近日筆者在項目執行過程中遇到這一問題,便也想到同時 應用tomcat+apache服務。Apache負責靜態資源處理,tomcat負責jsp和java servlet等動態資源的處理。在網上看了不少介紹Apache和Tomcat集成的帖子。大多為互相轉貼,有幾個關鍵問題沒有講清楚,并且多數文章講 解中所舉的軟件版本都已經比較老舊。因而筆者總結自己實際操作的經驗,希望對大家有所幫助。
準備工作: 1、 apache 2.0.55 下載地址:http://apache.justdn.org/httpd/binaries/win32/apache_2.0.55-win32-x86-no_ssl.msi2、 Tomcat 5.5 下載地址:http://tomcat.apache.org/download-55.cgi3、 JRE1.5.0 update6 下載地址:http://java.sun.com/j2se/1.5.0/download.jsp你也可以選擇安裝JDK,JDK不僅包含了運行java應用程序的支持,同時也包含J2SE的開發包。但如果您只是應用的話,我建議您僅下載JRE即可,為什么?因為它小啊:) 4、JK-apache-2.0.55 下載地址: http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.15/mod_jk-apache-2.0.55.so 注意jk的版本一定要與你的apache版本相同。Jk下載可以直接到apache.org官網下載,有多種版本,適用于各種操作系統,地址如下: http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows用戶進入win32目錄,不同的tomcat對應不同jk文件擴展名不同,有可能是*.dll,或者*.so,根據你的tomcat版本下載合適的jk版本。
安裝,軟件的安裝順序可以適當調整,但是jre(jdk)一定要在tomcat之前安裝: 1、安裝JRE(JDK) 此處選擇默認安裝即可,(舊版本的JDK安裝完之后需要設置系統的環境變量,JRE和JDK1.5.0以后版本不設置也沒關系。)安裝完成之后你可以選擇按照下面的示例設置你的系統環境變量:我的電腦->右鍵屬性->常規->高級->環境變量 JAVA_HOME = d:\Java\jre1.5.0_06 CLASSPATH = .;d:\Java\jre1.5.0_06\lib\dt.jar;d:\Java\jre1.5.0_06\lib\tools.jar PATH = d:\Java\jre1.5.0_06\bin 注意文件路徑要改成你實際安裝的路徑。
2、Apache安裝 此處注意,如果你本機已經裝了iis并且占用80端口,務必先在服務中將iis停止或禁用。軟件默認安裝即可。安裝過程中設置Network Domain和Server Name為localhost,設置你的email地址,下方會讓你選擇only for the current user或for all users。默認選擇for all users。這樣Apache就會占用80端口,并且做為一個系統服務開機自運行。 安裝完成之后,你在瀏覽器中輸入http://localhost, 將會看到Apache的成功頁面.Apache的主目錄是d:\Apache\Apache2,此時Apache,已經運行,你可以在窗口的托盤看到他的 圖標,雙擊圖標,在彈開的窗口選擇"Open Apache Monitor",點Stop,停止Apaceh服務,因為下面要安裝Tomcat和JK.
3、Tomcat安裝 選擇安裝目錄為了d:\Tomcat,其余為默認安裝.成功后在瀏覽器中輸入http://localhost:8080,出現Tomcat頁面表示安裝成功了。關于tomcat的設置已經有很多非常詳細的文章,在此就不再詳述了。
4、JK的安裝 把mod_jk_2.0.55.so拷貝到d:\Apache\Apache2\modules\下.
以上安裝全部完成后,打開cmd命令提示符,運行d:\Apache\Apache2\bin\Apache.exe -t 你將會看到"Syntax OK",表示Apache配置正常.這個命令非常有用,下面在繼續配置Apache的時候還會再次用到。
配置服務器:
1、配置Tomcat 查找目錄下的conf/workers.properties文件,并對比下方文本內容,如有不同以下方內容為準修改。 workers.tomcat_home=d:\Tomcat #讓mod_jk模塊知道Tomcat的位置 workers.java_home=d:\Java\jre1.5.0_06 #讓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:\Apache\Apache2\conf下的httpd.conf,在最后加入下面這段代碼并保存。 #設置Apache與Tomcat之間的連接,讓Apache遇到jsp文件時,在后臺將其交由Tomcat去處理 LoadModule jk_module modules/mod_jk_2.0.55.so #此處mod_jk的文件為你下載的文件 JkWorkersFile "d:/Tomcat/conf/workers.properties" #指定tomcat監聽配置文件地址 JkLogFile "d:/Tomcat/logs/mod_jk2.log" #指定日志存放位置 JkLogLevel info
#設置虛擬主機
ServerAdmin localhost DocumentRoot d:/test1 #您的站點項目所在路徑,應與tomcat中的目錄設置相同 ServerName localhost DirectoryIndex index.html index.htm index.jsp ErrorLog logs/shsc-error_log.txt CustomLog logs/shsc-access_log.txt common JkMount /servlet/* ajp13 #讓Apache支持對servlet傳送,用以Tomcat解析 JkMount /*.jsp ajp13 #讓Apache支持對jsp傳送,用以Tomcat解析 JkMount /*.do ajp13 #讓Apache支持對.do傳送,用以Tomcat解析
#開頭的行為注釋,可以刪除。此處的配置我是以設置虛擬目錄,重新指定了serverName,DocumentRoot路徑的方式配置站點,實際上, Apache的配置可以非常靈活,你也可以不采用虛擬目錄的方式,而直接去修改站點的默認配置,使用任意文本編輯工具,搜索如ServerName, DocumentRoot,ServerAdmin等相關項,然后將該項的配置根據你的實際情況進行修改即可。我建議大家可以多多嘗試不同的配置,這是一 種很有樂趣的體驗。 所有的修改完成這后,再次執行d:\Apache\Apache2\bin\Apache.exe -t 如果看到"Syntax OK",說明你所有配置無誤,雙擊窗口的托盤中的圖標,然后點擊Start運行。 在地址欄中分別輸入http://localhost/,與http://localhost:8080/若結果相同,Apache與Tomcat整合成功
|