整合的目的就是可以使Apache作Web Server, Tomcat 作容器. 也可以擴充Tomcat數量,作叢集. 好處自然不言而喻. 但是開源的東西版本相容性... 是以請嚴格按照所題的Tomcat和Apache版本來配置.(嘗試了較高版本,沒有成功). 對JDK沒有什麼要求,高點版本也可以.
第一部分:整合前的準備工作
準備需要的軟體:
1、 下載下傳j2sdk1.4.2
下載下傳位址: http://download.sun.com
2、下載下傳Apache 2.0.48
下載下傳位址: http://www.apache.org
3、下載下傳Tomcat 5.0.14
下載下傳位址: http://Jakarta.apache.org
4、下載下傳mod_jk_1.2.5_2.0.47.dll
下載下傳位址:tomcat的下載下傳位址下載下傳。
第二部分:配置前的初始化工作
1、 安裝j2sdk1.4.2
運作j2sdk1.4.2的自動安裝包,安裝j2sdk1.4.2到C:/j2sdk/j2sdk1.4.2目錄下。
2、 安裝Apache伺服器
運作Apache的自動安裝包,安裝Apache2.0.48到D:/Apache/Apache2目錄下。
3、 安裝Tomcat伺服器
運作Tomcat的自動安裝包,安裝Tomcat5.0.14到D:/Apache/Tomcat5目錄下。
4、 安裝mod_jk
拷貝mod_jk_1.2.5_2.0.47.dll檔案到D:/Apache/Apache2/modules檔案夾下。
5、 準備工作目錄和測試檔案
在D:盤建立目錄www,并建立一個基本的index.jsp檔案,源碼如下所示:
<%
out.println("<html>");
out.println("<body>");
out.println("Welcome");
out.println("</body>");
out.println("</html>");
%>
第三部分:配置Apache伺服器
編輯httpd.conf檔案,使用文本編輯器打開httpd.conf檔案,在檔案的最後添加如下内容:
# Using mod_jk2.dll to redirect dynamic calls to Tomcat
LoadModule jk_module modules/mod_jk_1.2.5_2.0.47.dll
JkWorkersFile "D:/Apache/Tomcat5/conf/workers.properties"
JkLogFile "D:/Apache/Tomcat5/logs/mod_jk2.log"
JkLogLevel info
JkMount /servlet/* ajp13
JkMount /*.jsp ajp13
Alias /web "D:/www/"
<Directory "D:/www">
Options Indexes MultiViews
AddOutputFilter Includes html
AllowOverride None
Order allow,deny
Allow from all
</Directory>
#包含Tomcat中的mod_jk.conf檔案
Include D:/Apache/Tomcat5/conf/auto/mod_jk.conf
第四部分:配置Tomcat伺服器
1、 建立workers.properties檔案
在D:/Apache/Tomcat5/conf/目錄下建立文本文檔并命名為workers.properties,寫入如下内容:
workers.tomcat_home=C:/Tomcat #讓mod_jk子產品知道Tomcat
workers.java_home=C:/jdk #讓mod_jk子產品知道j2sdk
ps=/
worker.list=ajp13 #子產品版本,現有ajp14了,不要修改
worker.ajp13.port=8009 #工作端口,若沒占用則不用修改
worker.ajp13.host=localhost #本機,若上面的Apache主機不為localhost,作相應修改
worker.ajp13.type=ajp13 #類型
worker.ajp13.lbfactor=1 #代理數,不用修改
2、 修改server.xml檔案
找到如下的配置代碼:
<!-- Tomcat Root Context -->
<!--
<Context path="" docBase="ROOT" debug="0">
-->
在其後面增加如下一行:
<Context path="/web" docBase="D:/www" debug="0" reloadable="true" > </Context>
3、 修改jk2.properties檔案
修改後内容如下:
## THIS FILE MAY BE OVERRIDEN AT RUNTIME. MAKE SURE TOMCAT IS STOPED
## WHEN YOU EDIT THE FILE.
## COMMENTS WILL BE _LOST_
## DOCUMENTATION OF THE FORMAT IN JkMain javadoc.
# Set the desired handler list
# handler.list=apr,request,channelJni
# Override the default port for the socketChannel
# channelSocket.port=8019
# Default:
# channelUnix.file=${jkHome}/work/jk2.socket
# Just to check if the the config is working
# shm.file=${jkHome}/work/jk2.shm
# In order to enable jni use any channelJni directive
# channelJni.disabled = 0
# And one of the following directives:
# apr.jniModeSo=/opt/apache2/modules/mod_jk2.so
# If set to inprocess the mod_jk2 will Register natives itself
# This will enable the starting of the Tomcat from mod_jk2
# apr.jniModeSo=inprocess
#request.tomcatAuthentication=true
request.tomcatAuthentication=false
第五部分:運作測試程式
先啟動Tomcat伺服器,然後啟動Apache伺服器。
打開IE浏覽器,分别輸入如下位址:
http://127.0.0.1/web/index.jsp
http://127.0.0.1:8080/web/index.jsp
如果出現的頁面相同,均列印出
Welcome
說明配制成功.
Tomcat 5.0.19也可以。