Yemao'Blog For Java

          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>

          圖4 在注冊(cè)表中創(chuàng)建Jakarta Isapi Redirector\1.0鍵

          (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>

          圖5 在Jakarta Isapi Redirector\1.0鍵下面創(chuàng)建新的字符串

          在本書配套光盤的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>

          圖6 Internet信息服務(wù)管理器窗口

          (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>

          圖7 創(chuàng)建虛擬目錄

          (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>

          圖 8 修改jakarta虛擬目錄的執(zhí)行許可權(quán)限
           
          四.把JK插件作為篩選器加入到IIS

          在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所示。














           
          圖9 配置IIS主機(jī)的屬性


           


           
          圖10 IIS主機(jī)的屬性窗口


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



           
          圖11 增加新的ISAPI篩選器


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



           
          圖12 jakarta篩選器被裝載
           
           
          五. 測(cè)試配置

          重啟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


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 崇州市| 元朗区| 青川县| 永和县| 曲水县| 高淳县| 民勤县| 博湖县| 廊坊市| 南和县| 浮山县| 白银市| 鲜城| 巴楚县| 汉川市| 新乡县| 塔城市| 临桂县| 吕梁市| 潢川县| 大洼县| 开平市| 如东县| 武穴市| 石嘴山市| 普陀区| 天柱县| 鄂温| 盐山县| 新泰市| 天峨县| 阳新县| 丰都县| 得荣县| 永州市| 玉林市| 资溪县| 海城市| 商都县| 新和县| 广河县|