| Apache和Tomcat同是Apache基金會(huì )下面的兩個(gè)項目。一個(gè)是HTTP WEB服務(wù)器,另一個(gè)是servlet容器(servlet container),最新的5.5.X系列實(shí)現Servlet 2.4/JSP 2.0Spec。在我們生產(chǎn)的環(huán)境中,往往需要Apache做前端服務(wù)器,Tomcat做后端服務(wù)器。此時(shí)我們就需要一個(gè)連接器,這個(gè)連接器的作用就是把所有Servlet/JSP的請求轉給Tomcat來(lái)處理。在A(yíng)pache2.2之前,一般有兩個(gè)組件可選擇。mod_jk和mod_jk2。后來(lái)mod_jk2沒(méi)更新了,轉而更新mod_jk,所以現在一般都使用mod_jk做Apache和Tomcat的連接器。要指出的是mod_jk支持Apache 1.x和2.X系列。 不過(guò),自從Apache2.2出來(lái)后,你又多了種選擇,那就是proxy-ajp.大家知道Apache里的proxy模塊,可以實(shí)現雙向代理功能,功能非常強大。其實(shí)從連接器的實(shí)現原理上來(lái)說(shuō),用proxy模塊來(lái)實(shí)現是非常自然的。proxy模塊的功能無(wú)非就是把相關(guān)的請求發(fā)給特定的主機再返回結果。那連接器的功能需求就是要把所有對Servlet/JSP的請求都轉給后臺的Tomcat。而且所FreeBSD郵件列表上說(shuō),使用proxy-ajp要比mod_jk的效率要高。就我一個(gè)外行來(lái)看,至少使用Apache自帶模塊,要比另外編譯的來(lái)得可靠。 apache2.2和tomcat5.5是一個(gè)不錯的組合,可以作為開(kāi)發(fā)環(huán)境或者是工作服務(wù)器。在配置前需要下載以下幾個(gè)文件: 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.exe 2.下載apache2.2 http://mirror.vmmatrix.net/apache/httpd/binaries/win32/apache_2.2.2-win32-x86-no_ssl.msi 3.下載tomcat5.5.17 http://apache.justdn.org/tomcat/tomcat-5/v5.5.17/bin/apache-tomcat-5.5.17.exe 一、安裝和配置JDK 下載下來(lái)后,直接執行jdk-1.5.0_07-oth-JPR:2/jdk-1_5_0_07-windows-i586-p.exe 實(shí)裝時(shí)建議選擇簡(jiǎn)單的路徑,如E:\Web_Server\jdk1.5.0\ 安裝最后會(huì )要求安裝jre,繼續下一步就行,安裝路徑E:\Web_Server\jre1.5.0\。 裝完后添加或編緝三個(gè)系統變量(已經(jīng)有就編緝,沒(méi)有就新建): 在PATH變量尾加在";E:\Web_Server\jdk1.5.0\bin\" (注意有個(gè)分號) 新建Web_Server_HOME變量,值為 "E:\Web_Server\jdk1.5.0\" 新建CLASSPATH變量,值為 "E:\Web_Server\jdk1.5.0\lib\tools.jar" 二、安裝和測試apache 在安裝前如已安裝了IIS,請先停止IIS服務(wù)。因為IIS和apache都默認使用80端口,否則會(huì )沖突。 同樣直接運行安裝apache_2.2.2-win32-x86-no_ssl.msi,建議選擇簡(jiǎn)單的路徑,如E:\Web_Server\apache2.2\。安裝時(shí)會(huì )要求輸入一些關(guān)于這臺服務(wù)器的信息,如域名、管理員郵箱,這些信息將會(huì )加入到httpd.conf文件中。 安裝完配置httpd.conf文件,在E:\Web_Server\apache2.2\conf\下 用文本編緝器打開(kāi)httpd.conf,在DirectoryIndex index.html后添加index.jsp 測試,在IE中輸入http://localhost/,如果apache工作應該可以看到"It works!"這樣的頁(yè)面。 三、安裝和測試tomcat 直接運行安裝tomcat,安裝路徑為E:\Web_Server\tomcat5.5\ 安裝完,好像步驟一,添加一個(gè)系統變量TOMCAT_HOME,變量值為"E:\Web_Server\tomcat5.5\" 最后測試tomcat,因為tomcat默認使用了8080端口,所以在IE輸入http://localhost:8080,正常工作會(huì )看見(jiàn)一只小貓的頁(yè)面。 四。整合apache和tomcat 網(wǎng)上很多是通過(guò)mod_jk來(lái)整合的,由于apache2.2本身已經(jīng)支持tomcat了,所以這里用proxy來(lái)整合tomcat,先把apache和tomcat都停止了。然后打開(kāi)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進(jìn)行簡(jiǎn)單的優(yōu)化。 五、最后測試整合后的apache+tomcat 啟動(dòng)apache,再啟動(dòng)tomcat,準備以下代碼的jsp文件,以便測試。 <%@ page contentType="text/html;charset=gb2312" %> <HTML> <HEAD> <TITLE>JSP測試頁(yè)面</TITLE> </HEAD> <BODY> <%out.println("<h1>Hello World! </h1>");%> </BODY> </HTML> 保存為test.jsp 在E:\Web_Server\tomcat5.5\webapps\ROOT\下新建一個(gè)文件夾myjsp,并把test.jsp放在里面。 在IE中輸入http://localhost:8080/myjsp/test.jsp 再輸入http://localhost/myjsp/test.jsp 如果兩次都顯示Hello World!說(shuō)明已經(jīng)成功整合了。 ============================ 方法之二: Windows環(huán)境下的tomcat + apache配置(絕對實(shí)踐操作版) 關(guān)鍵詞: tomcat apache Apache的HTTPD是目前比較受歡迎的網(wǎng)站服務(wù)器軟件,它不但功能強大,而且完全免費,并且支持市場(chǎng)上流行的各種操作系統(Windows,Linux,Mac os)。同時(shí)對于Java Servlet/JSP的支持,通常也會(huì )使用同樣Apache出品的Tomcat。 Tomcat除了支持Java Servlet/JSP之外,也可以當做網(wǎng)站服務(wù)器使用,但是在對于靜態(tài)的html文件、圖片文件等的解析效率上不如Apache HTTPD的執行效率高。應用tomcat的服務(wù)器如果網(wǎng)站的訪(fǎng)問(wèn)量較大,系統資源占用會(huì )明顯升高,近日筆者在項目執行過(guò)程中遇到這一問(wèn)題,便也想到同時(shí)應用tomcat+apache服務(wù)。Apache負責靜態(tài)資源處理,tomcat負責jsp和java servlet等動(dòng)態(tài)資源的處理。在網(wǎng)上看了不少介紹Apache和Tomcat集成的帖子。大多為互相轉貼,有幾個(gè)關(guān)鍵問(wèn)題沒(méi)有講清楚,并且多數文章講解中所舉的軟件版本都已經(jīng)比較老舊。因而筆者總結自己實(shí)際操作的經(jīng)驗,希望對大家有所幫助。 準備工作: 1、 apache 2.0.55 下載地址:http://apache.justdn.org/httpd/binaries/win32/apache_2.0.55-win32-x86-no_ssl.msi 2、 Tomcat 5.5 下載地址:http://tomcat.apache.org/download-55.cgi 3、 JRE1.5.0 update6 下載地址:http://java.sun.com/j2se/1.5.0/download.jsp 你也可以選擇安裝JDK,JDK不僅包含了運行java應用程序的支持,同時(shí)也包含J2SE的開(kāi)發(fā)包。但如果您只是應用的話(huà),我建議您僅下載JRE即可,為什么?因為它小?。海?br>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官網(wǎng)下載,有多種版本,適用于各種操作系統,地址如下: http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/ windows用戶(hù)進(jìn)入win32目錄,不同的tomcat對應不同jk文件擴展名不同,有可能是*.dll,或者*.so,根據你的tomcat版本下載合適的jk版本。 安裝,軟件的安裝順序可以適當調整,但是jre(jdk)一定要在tomcat之前安裝: 1、安裝JRE(JDK) 此處選擇默認安裝即可,(舊版本的JDK安裝完之后需要設置系統的環(huán)境變量,JRE和JDK1.5.0以后版本不設置也沒(méi)關(guān)系。)安裝完成之后你可以選擇按照下面的示例設置你的系統環(huán)境變量:我的電腦->右鍵屬性->常規->高級->環(huán)境變量 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 注意文件路徑要改成你實(shí)際安裝的路徑。 2、Apache安裝 此處注意,如果你本機已經(jīng)裝了iis并且占用80端口,務(wù)必先在服務(wù)中將iis停止或禁用。軟件默認安裝即可。安裝過(guò)程中設置Network Domain和Server Name為localhost,設置你的email地址,下方會(huì )讓你選擇only for the current user或for all users。默認選擇for all users。這樣Apache就會(huì )占用80端口,并且做為一個(gè)系統服務(wù)開(kāi)機自運行。 安裝完成之后,你在瀏覽器中輸入http://localhost,將會(huì )看到Apache的成功頁(yè)面.Apache的主目錄是d:\Apache\Apache2,此時(shí)Apache,已經(jīng)運行,你可以在窗口的托盤(pán)看到他的圖標,雙擊圖標,在彈開(kāi)的窗口選擇"Open Apache Monitor",點(diǎn)Stop,停止Apaceh服務(wù),因為下面要安裝Tomcat和JK. 3、Tomcat安裝 選擇安裝目錄為了d:\Tomcat,其余為默認安裝.成功后在瀏覽器中輸入http://localhost:8080,出現Tomcat頁(yè)面表示安裝成功了。關(guān)于tomcat的設置已經(jīng)有很多非常詳細的文章,在此就不再詳述了。 4、JK的安裝 把mod_jk_2.0.55.so拷貝到d:\Apache\Apache2\modules\下. 以上安裝全部完成后,打開(kāi)cmd命令提示符,運行d:\Apache\Apache2\bin\Apache.exe -t 你將會(huì )看到"Syntax OK",表示Apache配置正常.這個(gè)命令非常有用,下面在繼續配置Apache的時(shí)候還會(huì )再次用到。 配置服務(wù)器: 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 #工作端口,若沒(méi)占用則不用修改 worker.ajp13.host=localhost #本機,若上面的Apache主機不為localhost,作相應修改 worker.ajp13.type=ajp13 #類(lèi)型 worker.ajp13.lbfactor=1 #代理數,不用修改 如果文件不存在則創(chuàng )建。并填充上述內容。 2、配置Apache 打開(kāi)d:\Apache\Apache2\conf下的httpd.conf,在最后加入下面這段代碼并保存。 #設置Apache與Tomcat之間的連接,讓Apache遇到j(luò )sp文件時(shí),在后臺將其交由Tomcat去處理 LoadModule jk_module modules/mod_jk_2.0.55.so #此處mod_jk的文件為你下載的文件 JkWorkersFile "d:/Tomcat/conf/workers.properties" #指定tomcat監聽(tīng)配置文件地址 JkLogFile "d:/Tomcat/logs/mod_jk2.log" #指定日志存放位置 JkLogLevel info #設置虛擬主機 ServerAdmin localhost DocumentRoot d:/test1 #您的站點(diǎn)項目所在路徑,應與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解析 #開(kāi)頭的行為注釋?zhuān)梢詣h除。此處的配置我是以設置虛擬目錄,重新指定了serverName,DocumentRoot路徑的方式配置站點(diǎn),實(shí)際上,Apache的配置可以非常靈活,你也可以不采用虛擬目錄的方式,而直接去修改站點(diǎn)的默認配置,使用任意文本編輯工具,搜索如ServerName,DocumentRoot,ServerAdmin等相關(guān)項,然后將該項的配置根據你的實(shí)際情況進(jìn)行修改即可。我建議大家可以多多嘗試不同的配置,這是一種很有樂(lè )趣的體驗。 所有的修改完成這后,再次執行d:\Apache\Apache2\bin\Apache.exe -t 如果看到"Syntax OK",說(shuō)明你所有配置無(wú)誤,雙擊窗口的托盤(pán)中的圖標,然后點(diǎn)擊Start運行。 在地址欄中分別輸入http://localhost/,與http://localhost:8080/若結果相同,Apache與Tomcat整合成功 |
聯(lián)系客服