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