22.4 Tomcat與IIS服務(wù)器集成
IIS(Internet Information Service)服務(wù)器是微軟開(kāi)發(fā)的功能強大的Web服務(wù)器,IIS為創(chuàng )建和開(kāi)發(fā)電子商務(wù)的提供了安全的Web平臺。把Tomcat與IIS集成,可以擴展IIS的功能,使它支持Java Web應用。
22.4.1 準備相關(guān)文件
在開(kāi)始本節的操作之前,假定在機器上安裝了IIS服務(wù)器,應該準備好以下3個(gè)文件。
1.JK插件
在本書(shū)配套光盤(pán)的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文件。在本書(shū)配套光盤(pán)的sourcecode/chapter22/iis目錄下也提供了該文件:
workers.tomcat_home=C:\jakarta-tomcat #讓mod_jk模塊知道Tomcatworkers.java_home=C:\j2sdk1.4.2 #讓mod_jk模塊知道j2sdkps=\ #指定文件路徑分割符worker.list=worker1 worker.worker1.port=8009 #工作端口,若沒(méi)占用則不用修改worker.worker1.host=localhost#Tomcat服務(wù)器的地址worker.worker1.type=ajp13 #類(lèi)型worker.worker1.lbfactor=1#負載平衡因數
3.uriworkermap.properties文件
在/conf目錄下創(chuàng )建如下的uriworkermap.properties文件,它為JK插件指定URL映射。在本書(shū)配套光盤(pán)的sourcecode/chapter22/iis目錄下也提供了該文件:
/*.jsp=worker1/helloapp/*=worker1
盡管把以上3個(gè)文件都放在Tomcat目錄下,其實(shí)Tomcat服務(wù)器并不會(huì )訪(fǎng)問(wèn)這些文件。以上給出的是按照慣例的一種配置,事實(shí)上,也可以把這些文件放在文件系統的其他地方。
22.4.2 編輯注冊表
在配置Apache和Tomcat集成時(shí),JK插件的屬性是在A(yíng)pache的配置文件httpd.conf中設置的。配置IIS和Tomcat集成時(shí),應該在操作系統的注冊表中設置JK插件的屬性,以下是操作步驟。
(1)在Windows NT/2000中通過(guò)regedit命令編輯注冊表,創(chuàng )建一個(gè)新的鍵:HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector \1.0,如圖22-4所示。
圖22-4 在注冊表中創(chuàng )建Jakarta Isapi Redirector\1.0鍵
(2)在Jakarta Isapi Redirector\1.0鍵下面創(chuàng )建新的字符串,參見(jiàn)表22-5,創(chuàng )建好之后的注冊表如圖22-5所示。
表22-5 在Jakarta Isapi Redirector\1.0鍵下面創(chuàng )建的字符串
字 符 串字 符 串 值描 述
extension_uri/jakarta/isapi_redirect.dll指定訪(fǎng)問(wèn)isapi_redirect.dll文件的uri, 在IIS中將創(chuàng )建名為jakarta的虛擬目錄, 在該目錄下包含isapi_redirect.dll文件, 參見(jiàn)22.4.3節
log_fileC:\jakarta-tomcat\logs\isapi.log指定JK插件使用的日志文件, 在實(shí)際配置中,可以通過(guò)查看這個(gè)日志文件, 來(lái)跟蹤JK插件的運行過(guò)程, 這對排錯很有用
log_leveldebug指定JK插件的日志級別, 可選值包括debug、info和error等
worker_fileC:\ jakarta-tomcat\conf \workers.properties指定JK插件的工作文件
worker_mount_fileC:\jakarta-tomcat\conf \uriworkermap.properties指定JK插件的URL映射文件
圖22-5 在Jakarta Isapi Redirector\1.0鍵下面創(chuàng )建新的字符串
在本書(shū)配套光盤(pán)的sourcecode/chapter22/iis目錄下提供了注冊表編輯文件jk.reg,如果不想按照以上方式手工修改注冊表,也可以直接運行jk.reg文件(選中這個(gè)文件再雙擊鼠標即可),它會(huì )把以上配置內容自動(dòng)添加到注冊表中。jk.reg的內容如下:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWAREApache Software FoundationJakarta 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"
在運行jk.reg文件之前,應該把文件中的"C:\\jakarta-tomcat"目錄替換為T(mén)omcat安裝目錄。
22.4.3 在IIS中加入"jakarta"虛擬目錄
注冊表修改以后,應該在IIS中加入名為"jakarta"的虛擬目錄,它是JK插件所在的目錄,以下是操作步驟。
(1)選擇操作系統的【控制面板】→【管理工具】→【Internet服務(wù)管理器】選項,打開(kāi)Internet信息服務(wù)管理器,如圖22-6所示。
圖22-6 Internet信息服務(wù)管理器窗口
(2)選中【默認Web站點(diǎn)】,單擊鼠標右鍵,在下拉菜單中選擇【新建】→【虛擬目錄】選項,如圖22-7所示。創(chuàng )建一個(gè)虛擬目錄,名為"jakarta",對應的實(shí)際文件資源路徑應該是isapi_redirect.dll文件所在的目錄/bin。
圖22-7 創(chuàng )建虛擬目錄
(3)修改剛剛創(chuàng )建的jakarta虛擬目錄的屬性,將其執行許可權限設為"腳本和可執行程序",如圖22-8所示。這步操作很重要,它保證在注冊表中設置的extension_uri對應的/jakarta/isapi_redirect.dll可以被執行。如果漏掉這步操作,會(huì )導致無(wú)法訪(fǎng)問(wèn)Tomcat中的Servlet/JSP組件。
圖22-8 修改jakarta虛擬目錄的執行許可權限