TOMCAT與IIS集成
IIS(Internet Information Service)服務(wù)器是微軟開發(fā)的功能強(qiáng)大的Web服務(wù)器,IIS為創(chuàng)建和開發(fā)電子商務(wù)的提供了安全的Web平臺(tái)。把Tomcat與IIS集成,可以擴(kuò)展IIS的功能,使它支持Java Web應(yīng)用。一.1 準(zhǔn)備相關(guān)文件
在開始本節(jié)的操作之前,假定在機(jī)器上安裝了IIS服務(wù)器,應(yīng)該準(zhǔn)備好以下3個(gè)文件。
1.JK插件
在本書配套光盤的lib目錄下提供了用于IIS的JK插件:isapi_redirect.dll,此外,也可以到以下地址下載最新的JK插件:http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk,可以把JK插件isapi_redirect.dll拷貝到/bin目錄下。
2.workers.properties文件
在/conf目錄下創(chuàng)建如下的workers.properties文件。在本書配套光盤的sourcecode/chapter22/iis目錄下也提供了該文件:
workers.tomcat_home=C:\jakarta-tomcat #讓mod_jk模塊知道Tomcat workers.java_home=C:\j2sdk1.4.2 #讓mod_jk模塊知道j2sdk ps=\ #指定文件路徑分割符 worker.list=worker1 worker.worker1.port=8009 #工作端口,若沒占用則不用修改 worker.worker1.host=localhost #Tomcat服務(wù)器的地址 worker.worker1.type=ajp13 #類型 worker.worker1.lbfactor=1 #負(fù)載平衡因數(shù) |
3.uriworkermap.properties文件
在/conf目錄下創(chuàng)建如下的uriworkermap.properties文件,它為JK插件指定URL映射。在本書配套光盤的sourcecode/chapter22/iis目錄下也提供了該文件:
?/P>
/*.jsp=worker1 /helloapp/*=worker1 |
盡管把以上3個(gè)文件都放在Tomcat目錄下,其實(shí)Tomcat服務(wù)器并不會(huì)訪問這些文件。以上給出的是按照慣例的一種配置,事實(shí)上,也可以把這些文件放在文件系統(tǒng)的其他地方。
二. 編輯注冊(cè)表
在配置Apache和Tomcat集成時(shí),JK插件的屬性是在Apache的配置文件httpd.conf中設(shè)置的。配置IIS和Tomcat集成時(shí),應(yīng)該在操作系統(tǒng)的注冊(cè)表中設(shè)置JK插件的屬性,以下是操作步驟。
(1)在Windows NT/2000中通過regedit命令編輯注冊(cè)表,創(chuàng)建一個(gè)新的鍵:HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector \1.0,如圖4所示。
?/P>

?/P>
(2)在Jakarta Isapi Redirector\1.0鍵下面創(chuàng)建新的字符串,參見表22-5,創(chuàng)建好之后的注冊(cè)表如圖22-5所示。
表5 在Jakarta Isapi Redirector\1.0鍵下面創(chuàng)建的字符串
?/P>
字 符 串 | 字 符 串 值 | 描 述 |
extension_uri | /jakarta/isapi_redirect.dll | 指定訪問isapi_redirect.dll文件的uri,在IIS中將創(chuàng)建名為jakarta的虛擬目錄,在該目錄下包含isapi_redirect.dll文件,參見22.4.3節(jié) |
log_file | C:\jakarta-tomcat\logs\isapi.log | 指定JK插件使用的日志文件,在實(shí)際配置中,可以通過查看這個(gè)日志文件,來跟蹤JK插件的運(yùn)行過程,這對(duì)排錯(cuò)很有用 |
log_level | debug | 指定JK插件的日志級(jí)別, 可選值包括debug、info和error等 |
worker_file | C:\ jakarta-tomcat\conf \workers.properties | 指定JK插件的工作文件 |
worker_mount_file | C:\jakarta-tomcat\conf \uriworkermap.properties | 指定JK插件的URL映射文件 |
?/P>

?/P>
在本書配套光盤的sourcecode/chapter22/iis目錄下提供了注冊(cè)表編輯文件jk.reg,如果不想按照以上方式手工修改注冊(cè)表,也可以直接運(yùn)行jk.reg文件(選中這個(gè)文件再雙擊鼠標(biāo)即可),它會(huì)把以上配置內(nèi)容自動(dòng)添加到注冊(cè)表中。jk.reg的內(nèi)容如下:
?/P>
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\ Apache Software Foundation\ Jakarta Isapi Redirector \1.0] "extension_uri"="/jakarta/ isapi_redirect.dll" "log_file"="C:\\jakarta-tomcat \\logs\\isapi.log" "log_level"="debug" "worker_file"="C:\\jakarta-tomcat \\conf\\workers.properties" "worker_mount_file"="C:\\jakarta-tomcat \\conf\\uriworkermap.properties" |
在運(yùn)行jk.reg文件之前,應(yīng)該把文件中的"C:\\jakarta-tomcat"目錄替換為Tomcat安裝目錄。
三. 在IIS中加入"jakarta"虛擬目錄
注冊(cè)表修改以后,應(yīng)該在IIS中加入名為"jakarta"的虛擬目錄,它是JK插件所在的目錄,以下是操作步驟。
(1)選擇操作系統(tǒng)的【控制面板】→【管理工具】→【Internet服務(wù)管理器】選項(xiàng),打開Internet信息服務(wù)管理器,如圖6所示。
?/P>

?/P>
(2)選中【默認(rèn)Web站點(diǎn)】,單擊鼠標(biāo)右鍵,在下拉菜單中選擇【新建】→【虛擬目錄】選項(xiàng),如圖7所示。創(chuàng)建一個(gè)虛擬目錄,名為"jakarta",對(duì)應(yīng)的實(shí)際文件資源路徑應(yīng)該是isapi_redirect.dll文件所在的目錄/bin。
?/P>

?/P>
(3)修改剛剛創(chuàng)建的jakarta虛擬目錄的屬性,將其執(zhí)行許可權(quán)限設(shè)為"腳本和可執(zhí)行程序",如圖8所示。這步操作很重要,它保證在注冊(cè)表中設(shè)置的extension_uri對(duì)應(yīng)的/jakarta/isapi_redirect.dll可以被執(zhí)行。如果漏掉這步操作,會(huì)導(dǎo)致無法訪問Tomcat中的Servlet/JSP組件。
?/P>

?/P>
在IIS中加入名為"jakarta"的虛擬目錄后,還應(yīng)該把JK插件作為ISAPI篩選器加入到IIS中,以下是操作步驟。
(1)在Internet信息服務(wù)主窗口的目錄樹中選擇IIS主機(jī)節(jié)點(diǎn),單擊鼠標(biāo)右鍵,在下拉菜單中選擇【屬性】選項(xiàng),如圖22-9所示。在出現(xiàn)的窗口中單擊【編輯】按鈕,打開IIS主機(jī)的屬性窗口,如圖10所示。


(2)在主屬性的WWW服務(wù)區(qū)域單擊【編輯】按鈕,打開WWW服務(wù)主屬性窗口,增加新的ISAPI篩選器,篩選器名稱為"jakarta",可執(zhí)行文件為/bin /isapi_redirect.dll,如圖11所示。

(3)重新啟動(dòng)IIS服務(wù)器,如果配置正常,在WWW服務(wù)主屬性的ISAPI篩選器子窗口中,新加的jakarta篩選器的狀態(tài)應(yīng)該變?yōu)榫G色向上的箭頭,如圖12所示。

重啟Tomcat服務(wù)器和IIS服務(wù)器,通過瀏覽器訪問http://localhost/index.jsp。如果出現(xiàn)Tomcat的默認(rèn)主頁,說明配置已經(jīng)成功。此外,如果在Tomcat服務(wù)器上已經(jīng)發(fā)布了helloapp應(yīng)用,可以訪問http://localhost/helloapp/index.htm;如果正常返回helloapp應(yīng)用的index.htm網(wǎng)頁,說明配置已經(jīng)成功;如果配置有誤,可以查看JK插件生成的日志信息,它有助于查找錯(cuò)誤原因。在注冊(cè)表中設(shè)定該日志文件的存放位置為/logs/isapi.log。
小 結(jié)
上面介紹了通過JK插件來實(shí)現(xiàn)Tomcat與Apache以及IIS服務(wù)器集成的步驟。Tomcat提供了專門的JK插件來負(fù)責(zé)Tomcat和HTTP服務(wù)器的通信。JK插件安置在對(duì)方HTTP服務(wù)器上。當(dāng)HTTP服務(wù)器接收到客戶請(qǐng)求時(shí),它會(huì)通過JK插件來過濾URL,JK插件根據(jù)預(yù)先配置好的URL映射信息,來決定是否要把客戶請(qǐng)求轉(zhuǎn)發(fā)給Tomcat服務(wù)器處理。Tomcat與Apache以及IIS服務(wù)器集成的異同之處參見下表。
Tomcat與Apache以及IIS服務(wù)器集成的異同之處
Tomcat與Apache集成 | Tomcat與IIS集成 | |
JK插件的工作文件 | workers.properties文件 | workers.properties文件 |
設(shè)置JK插件屬性 | 在Apache的配置文件httpd.conf中設(shè)置 | 在注冊(cè)表中設(shè)置 |
設(shè)置URL映射信息 | 在Apache的配置文件httpd.conf中設(shè)置 | 在uriworkermap.properties文件中設(shè)置 |
加載JK插件 | 把JK插件拷貝到/lib目錄下, 在Apache的配置文件httpd.conf中設(shè)置 LoadModule屬性 | 把JK插件所在的目錄作為IIS的虛擬目錄,把JK插件作為ISAPI篩選器加入到IIS中 |
posted on 2007-11-19 15:42 野貓 閱讀(913) 評(píng)論(0) 編輯 收藏 所屬分類: JSP