=============================================
本文我已經測試通過了!
=============================================
題目:Windows2000 下整合Apache2與Tomcat4
作者:robornet
日期:2002-10-30
原由:搞了一段時間的java項目,到分發的時候了,可找不到一份最新的Apache2與Tomcat4的整合配置,遂看了半天的jakarta在線資料,并參照以前網友的文章,
寫了這篇配置文檔,以作參考,歡迎斧正!
目錄:
一、軟件準備
二、軟件安裝
三、首次配置及測試
四、整合配置
五、全線測試
六、不足
七、感謝
八、說明
步驟:
一、軟件準備:
假設你有一臺能正常運行win2000的硬軟軟件環境。
1.j2sdk1.4.1: 到http://java.sun.com/j2se/1.4.1/download.html下載?。ㄗ⒁馐荳indows (all languages, including English)的sdk版)
2.Apache2.0.43: 到http://www.apache.inetcosmos.org/dist/httpd/binaries/win32/apache_2.0.43-win32-x86-no_ssl.msi 下載!
3.Tomcat4.1.12:到 http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.1.12/bin/jakarta-tomcat-4.1.12.exe 下載!
4.mod_jk.dll: 到http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk/release/v1.2.0/bin/win32/mod_jk-2.0.42.dll下載!
(說明,由于mod_jk2-2.0.43.dll與Apache2.0.43配置沒成功,現用mod_jk-2.0.42.dll代替)
二、軟件安裝:
(1)安裝j2sdk:
1.按照安裝向導進行安裝(一般安裝到C:\j2sdk1.4.1下,方便下面操作)
(2)安裝apache:
1.按照安裝向導進行安裝(選擇安裝目錄為C:\,方便下面操作;安裝成功后其路徑為:C:\Apache2)
(3)安裝Tomcat:
1.按照安裝向導進行安裝(更改安裝目錄為C:\Tomcat4,若只是測試,沒必要把tomcat安裝成Services,方便下面操作),
其間會要你輸入Admin(系統管理員)的口令。
三、首次配置及測試:
對以上安裝的軟件環境進行首次配置,并測試其環境。
(1)配置--環境變量:
1.新建系統變量JAVA_HOME,其值為:C:\j2sdk1.4.1 //若你沒按以上路徑安裝請更改為正確的路徑
2.新建系統變量TOMCAT_HOME,其值為:C:\Tomcat4 //同上
3.新建系統變量CLASSPATH,其值為:%JAVA_HOME%\lib;%TOMCAT_HOME%\lib
(2)修改錯誤:
1.Apache2.0.43有一個小問題,默認安裝成功后在Apache2主目錄下的htdocs目錄中沒有index.html文件,你須將該目錄下的index.html.en改名為index.html
(3)測試默認服務:
請先運行Apache2與Tomcat4.
1.打開瀏覽器,在地址欄中輸入:http://localhost 檢驗:此時能在瀏覽器中看到Apache2的歡迎界面.說明Apache2工作正常.(注意,Tomcat默認端口為80,
若有其它程序占用,請更改,下面有說明)
2.打開瀏覽器,在地址欄中輸入:http://localhost:8080 檢驗:此時能在瀏覽器中看到Tomcat的歡迎界面.說明Tomcat工作正常.(注意,Tomcat默認端口為
8080,若有其它程序占用,請更改,下面有說明)
小結:若到此步驟沒有任何錯誤,那可繼續下面的操作,Let' go!
(4)測試你的項目:
現只用Tomcat測試你的項目,為方便此例說明,假設你已有一個項目在E:\Application\OA目錄下
(包含index.jsp及其它jsp文件和bean,如WEB-INF\classes\下的servlet、javabean)。
1.設置Tomcat以支持你的項目,打開C:\Tomcat4\conf\server.xml文件,在"</Host>"之前,"</Context>"之后添加
<Context path="/oa" debug="0" docBase="E:\Application\OA" reloadable="true"/>并保存。
說明:Context (表示一個web應用程序): docBase定義應用程序的路徑;path 表示此web應用程序的url的前綴,這樣請求的url為http://localhost:8080/oa;
reloadable 這個屬性非常重要,如果為true,則tomcat會自動檢測應用程序的/WEB-INF/lib 和/WEB-INF/classes目錄的變化,自動裝載修改或新的bean
及servlet,我們可以在不重起tomcat的情況下看到bean帶給jsp的變化。
2.啟動你Tomcat4.1.12,在瀏覽器的地址中輸入http://localhost:8080/oa,如你的jsp及bean,servlet沒有錯誤,一般會將你的index.jsp/index.html文件的
內容給執行并顯示。
小結:若到此步驟沒有任何錯誤,那可繼續下面的操作,Let' go!
四、整合配置:
對Apache與Tomcat做相應的配置,讓其共同為你工作。
若Apache2與Tomcat4正運行著,請關閉它們。
(1)配置Apache2:
1.先將下載的mod_jk-2.0.42.dll復制到C:\Apache2\modules下。
2.設置主頁文件類型:打開C:\Apache2\conf下的httpd.conf,查找"DirectoryIndex",在index.html的后面添加index.jsp并保存,注意相互之間應有空格。
3.設置虛擬主機,讓Apache自動控制html與jsp的解析: 打開C:\Apache2\conf\httpd.conf,在最后加入下面這段代碼并保存。
<VirtualHost localhost> //localhost為本機,你可用本機ip
ServerAdmin robornet@robornet.com //你的mail地址
DocumentRoot E:\Application //你的項目組根目錄,因為Application下有OA及其它多個項目,因此只能設為E:\Application
ServerName localhost //你的服務名,若你的機器有域名,設為域名,但現用本機作測試
ErrorLog logs/robornet_home_log.txt //錯誤日志,在C:\Apache2\logs下,可用其它任意名字
CustomLog logs/robornet_Custom_log.txt common //訪問日志,在C:\Apache2\logs下,可用其它任意名字
</VirtualHost>
4.設置Apache與Tomcat之間的連接,讓Apache遇到jsp文件時,在后臺將其交由Tomcat去處理:打開C:\Apache2\conf\httpd.conf,在最后加入下面這段代碼并保存。
# Using mod_jk2.dll to redirect dynamic calls to Tomcat
LoadModule jk_module modules/mod_jk-2.0.42.dll //裝載模塊,用于處理連接
JkWorkersFile "C:/Tomcat4/conf/workers.properties" //設置模塊的工作文件,下面會說明
JkLogFile "C:/Tomcat4/logs/mod_jk2.log" //設置模塊工作的日志文件,Tocmat啟動時會自建
JkMount /servlet/* ajp13 //讓Apache支持對servlet傳送,用以Tomcat解析
JkMount /*.jsp ajp13 //讓Apache支持對jsp傳送,用以Tomcat解析
小結:到此Apache的配置基本完成,不過這時啟動Apache還不能正常工作。
(2)配置Tomcat4:
1.在C:\Tomcat4\conf下新建一個文件workers.properties 注意文件后綴,建議用EditPlus或UltraEdit建立,若用記事本,記得改名,
不要成了workers.properties.txt了!其內容如下:
workers.tomcat_home=c:\Tomcat4 //讓mod_jk模塊知道Tomcat
workers.java_home=c:\j2sdk1.4.1 //讓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.打開C:\Tomcat4\conf下的server.xml文件:查找到"<!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->",將以前的代碼:
<!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8009"
minProcessors="5" maxProcessors="75" enableLookups="true" redirectPort="8443"
acceptCount="10" debug="0" connectionTimeout="20000" useURIValidationHack="false"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
<!-- Define an AJP 1.3 Connector on port 8009 -->
<!--
<Connector className="org.apache.ajp.tomcat4.Ajp13Connector" port="8009" minProcessors="5"
maxProcessors="75" acceptCount="10" debug="0"/>
-->
更改為:
<!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
<!--
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8009"
minProcessors="5" maxProcessors="75" enableLookups="true" redirectPort="8443"
acceptCount="10" debug="0" connectionTimeout="20000" useURIValidationHack="false"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
-->
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector className="org.apache.ajp.tomcat4.Ajp13Connector" port="8009" minProcessors="5"
maxProcessors="75" acceptCount="10" debug="0"/>
并保存后關閉.
小結: 兄弟一定都累了吧!好了,可以來一杯java,好好享受你的成果吧!
五、全線測試:
1.啟動Apache2,Tomcat4 。
2.打開你的瀏覽器,在地址欄中輸入http://localhost:8080/oa ,若與上面的測試相同,則Tomcat重新配置后正常!
3.在地址欄中輸入http://localhost/oa ,若與http://localhost:8080/oa的結果相同,那恭喜你,Apache2與Tomcat4整合成功了?。?!
六、不足:
1.雖用最新的Apache2.0.43與Tomcat4.1.12,但我是用的jk連接的,剛用jk2配置未成功,所以只好寫這份文檔了!
2.Tomcat還是采用的Tomcat-Standalone,未采用Tomcat-Apache,不過這個大家可以自己完成,這個應不是個問題!
七、感謝:
1.感謝Apache組織,為我提供了如此之好的服務器,而且還是免費的!
2.感謝以前寫過Apache1.x與Tomcat3.x/Tomcat4.*配置文檔的朋友們,為我今天寫這篇文檔作了參考!
八、說明:
1.若您覺得滿意,想轉載或收藏這篇文章,我非常感謝,但請您注明作者robornet及出處http://www.xtong.com.cn/robornet.
2.該文章已被賽迪網采用,詳見:http://developer.ccidnet.com/pub/disp/Article?columnID=322&articleID=30015&pageNO=1
原文轉自:http://www.anti-gravitydesign.com