tomcat與iis的整合應用不是什麼新鮮事,但是IIS6與Tomcat6的整合方法,網上目前能查到的真正能用的資料還比較少,是以決定浪費一晚上的時間搞定這個小問題,下面就是完整的步驟。
1.安裝IIS 6.0 ,這個幾乎每個人都會,不寫過程了,安裝JDK及配合環境變量等,這個搞Java的也都知道,不寫了,下載下傳Tomcat6,下載下傳用于內建IIS6和Tomcat6的Apache Tomcat Connector ,網址在下面:
http://tomcat.apache.org/download-connectors.cgi
我們要下載下傳的是JK 1.2 的編譯後的檔案,要源代碼等沒用,就隻下載下傳JK 1.2 Binary Releases 就行了,根據作業系統的類型,可以選擇下載下傳32位或64位的版本,我的機器是64位CPU,但是安裝的是32位的2003,是以下載下傳32位的isapi_redirect.dll
将isapi_redirect.dll放到tomcat的conf目錄中,建立以下幾個檔案
2. workers.properties檔案
内容:
##############################################
workers.tomcat_home=C:/temp/apache-tomcat-6.0.14
workers.java_home=C:/Program Files/Java/jdk1.6.0_03
ps=/
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
worker.list=jkstatus
worker.jkstatus.type=status
#############################################
3.uriworkermap.properties檔案
内容:
#############################################
/www.vhost1.com/*=ajp13
!/www.vhost1.com/*.asp=ajp13
!/www.vhost1.com/*.html=ajp13
/www.vhost1.com/private/admin/jkstatus=jkstatus
/www.vhost2.com/*.jsp=ajp13
/www.vhost2.com/*.do=ajp13
/www.vhost2.com/services*=ajp13
/www.vhost2.com/servlet*=ajp13
/www.vhost2.com/dwr/*=ajp13
#############################################
注意這裡才是和網上其它寫的內建IIS6及TOMCAT6的文章所不同的地方,多個虛拟主機時需要寫上虛拟主機的主機頭資訊,上面的虛拟主機中,vhost1站點除了asp及靜态的html檔案以外,其它的請求全部由tomcat處理,實際應用時可以考慮将圖檔、CSS、html等靜态的檔案由IIS負責直接發給用戶端,tomcat隻負責處理jsp,servlet等。
原文出自csdn部落格,位址:javascript:void(0)
4.修改Tomcat的配置檔案,增加虛拟主機資訊,修改檔案為conf目錄中的server.xml檔案,增加内容示例:
<Host name="www.vhost1.com" appBase="C://temp//vhost1//"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="vhost1_log." suffix=".txt" pattern="common" resolveHosts="false"/>
</Host>
<Host name="www.vhost2.com" appBase="C://temp//vhost2//"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="vhost2_log." suffix=".txt" pattern="common" resolveHosts="false"/>
</Host>
5.增加isapi_redirect.dll需要用到的系統資料庫資訊,用記事本建立一個tomcat.reg檔案,内容如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE/SOFTWARE/Apache Software Foundation/Jakarta Isapi Redirector/1.0]
"log_file"="C://temp//apache-tomcat-6.0.14//logs//isapi.log"
"log_level"="debug"
"worker_file"="C://temp//apache-tomcat-6.0.14//conf//workers.properties"
"worker_mount_file"="C://temp//apache-tomcat-6.0.14//conf//uriworkermap.properties"
"tomcat_start"="C://temp//apache-tomcat-6.0.14//bin//tomcat.bat start"
"tomcat_stop"="C://temp//apache-tomcat-6.0.14//bin//tomcat.bat stop"
"extension_uri"="/jakarta/isapi_redirect.dll"
注意上面的所有涉及到tomcat的路徑都要換成實際部署時的路徑資訊,目錄的分隔用“//”表示,編輯好了以後輕按兩下導入系統資料庫。
6.在IIS中添加W eb服務擴充
打開IIS資訊服務管理器,在左側的功能樹中選中“WEB服務擴充”,在螢幕右側的空白界面中點滑鼠右鍵,選擇“增加一個新的WEB服務擴充”,在擴充名輸入框中輸入“jakarta”,在“要求的檔案”處選擇我們從tomcat官方網站上下載下傳的“isapi_redirect.dll”檔案,同時選中“設定擴充狀态為允許”複選框。正确設定後的界面如下圖:

7.在IIS中增加多個虛拟主機
依次在IIS中建立虛拟主機,端口号全部使用80即可,這個和內建沒有什麼關系,最關鍵的一點要在每個虛拟主機中增加主機頭資訊,如下圖:
虛拟主機建立完成後,可以先通路一下網站的靜态html檔案或圖檔資源等,看看IIS中的虛拟主機工作是否正常。
8.增加isapi篩選器
在虛拟主機站點上點滑鼠右鍵,選“屬性”,選“ISAPI篩選器”頁,點“增加”,篩選器名稱輸入“jakarta”,可執行檔案選tomcat的conf目錄中的iaspi_redirect.dll檔案。
9.增加jakarta虛拟目錄
在虛拟主機站點上點滑鼠右鍵,選“建立”-》“虛拟目錄”,别名為“jakarta”,目錄為tomcat的conf目錄,最後要選中“讀取”和“執行程式”權限。
10.調試與測試
如果一切正常,現在可以通路一下JK的狀态頁看看效果了
要想測試是不是真的IIS和tomcat各司其職,可以建立一個簡單的asp檔案,在iis的web服務擴充中打開ASP擴充進行測試,asp檔案内容: