Yemao'Blog For Java

          TOMCAT與IIS集成

          IIS(Internet Information Service)服務器是微軟開發的功能強大的Web服務器,IIS為創建和開發電子商務的提供了安全的Web平臺。把Tomcat與IIS集成,可以擴展IIS的功能,使它支持Java Web應用。

          一.1 準備相關文件

          在開始本節的操作之前,假定在機器上安裝了IIS服務器,應該準備好以下3個文件。

          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目錄下創建如下的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服務器的地址
                      worker.worker1.type=ajp13
                      #類型
                      worker.worker1.lbfactor=1
                      #負載平衡因數
                      

          3.uriworkermap.properties文件

          在/conf目錄下創建如下的uriworkermap.properties文件,它為JK插件指定URL映射。在本書配套光盤的sourcecode/chapter22/iis目錄下也提供了該文件:

          ?/P>

          /*.jsp=worker1
                      /helloapp/*=worker1
                      

          盡管把以上3個文件都放在Tomcat目錄下,其實Tomcat服務器并不會訪問這些文件。以上給出的是按照慣例的一種配置,事實上,也可以把這些文件放在文件系統的其他地方。

          二. 編輯注冊表

          在配置Apache和Tomcat集成時,JK插件的屬性是在Apache的配置文件httpd.conf中設置的。配置IIS和Tomcat集成時,應該在操作系統的注冊表中設置JK插件的屬性,以下是操作步驟。

          (1)在Windows NT/2000中通過regedit命令編輯注冊表,創建一個新的鍵:HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector \1.0,如圖4所示。

          ?/P>

          ?/P>

          圖4 在注冊表中創建Jakarta Isapi Redirector\1.0鍵

          (2)在Jakarta Isapi Redirector\1.0鍵下面創建新的字符串,參見表22-5,創建好之后的注冊表如圖22-5所示。

          表5 在Jakarta Isapi Redirector\1.0鍵下面創建的字符串

          ?/P>

          字 符 串 字 符 串 值 描 述
          extension_uri /jakarta/isapi_redirect.dll 指定訪問isapi_redirect.dll文件的uri,在IIS中將創建名為jakarta的虛擬目錄,在該目錄下包含isapi_redirect.dll文件,參見22.4.3節
          log_file C:\jakarta-tomcat\logs\isapi.log 指定JK插件使用的日志文件,在實際配置中,可以通過查看這個日志文件,來跟蹤JK插件的運行過程,這對排錯很有用
          log_level debug 指定JK插件的日志級別, 可選值包括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鍵下面創建新的字符串

          在本書配套光盤的sourcecode/chapter22/iis目錄下提供了注冊表編輯文件jk.reg,如果不想按照以上方式手工修改注冊表,也可以直接運行jk.reg文件(選中這個文件再雙擊鼠標即可),它會把以上配置內容自動添加到注冊表中。jk.reg的內容如下:

          ?/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"
                      

          在運行jk.reg文件之前,應該把文件中的"C:\\jakarta-tomcat"目錄替換為Tomcat安裝目錄。

          三. 在IIS中加入"jakarta"虛擬目錄

          注冊表修改以后,應該在IIS中加入名為"jakarta"的虛擬目錄,它是JK插件所在的目錄,以下是操作步驟。

          (1)選擇操作系統的【控制面板】→【管理工具】→【Internet服務管理器】選項,打開Internet信息服務管理器,如圖6所示。

          ?/P>

          ?/P>

          圖6 Internet信息服務管理器窗口

          (2)選中【默認Web站點】,單擊鼠標右鍵,在下拉菜單中選擇【新建】→【虛擬目錄】選項,如圖7所示。創建一個虛擬目錄,名為"jakarta",對應的實際文件資源路徑應該是isapi_redirect.dll文件所在的目錄/bin。

          ?/P>

          ?/P>

          圖7 創建虛擬目錄

          (3)修改剛剛創建的jakarta虛擬目錄的屬性,將其執行許可權限設為"腳本和可執行程序",如圖8所示。這步操作很重要,它保證在注冊表中設置的extension_uri對應的/jakarta/isapi_redirect.dll可以被執行。如果漏掉這步操作,會導致無法訪問Tomcat中的Servlet/JSP組件。

          ?/P>

          ?/P>

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

          在IIS中加入名為"jakarta"的虛擬目錄后,還應該把JK插件作為ISAPI篩選器加入到IIS中,以下是操作步驟。

          (1)在Internet信息服務主窗口的目錄樹中選擇IIS主機節點,單擊鼠標右鍵,在下拉菜單中選擇【屬性】選項,如圖22-9所示。在出現的窗口中單擊【編輯】按鈕,打開IIS主機的屬性窗口,如圖10所示。














           
          圖9 配置IIS主機的屬性


           


           
          圖10 IIS主機的屬性窗口


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



           
          圖11 增加新的ISAPI篩選器


          (3)重新啟動IIS服務器,如果配置正常,在WWW服務主屬性的ISAPI篩選器子窗口中,新加的jakarta篩選器的狀態應該變為綠色向上的箭頭,如圖12所示。



           
          圖12 jakarta篩選器被裝載
           
           
          五. 測試配置

          重啟Tomcat服務器和IIS服務器,通過瀏覽器訪問http://localhost/index.jsp。如果出現Tomcat的默認主頁,說明配置已經成功。此外,如果在Tomcat服務器上已經發布了helloapp應用,可以訪問http://localhost/helloapp/index.htm;如果正常返回helloapp應用的index.htm網頁,說明配置已經成功;如果配置有誤,可以查看JK插件生成的日志信息,它有助于查找錯誤原因。在注冊表中設定該日志文件的存放位置為/logs/isapi.log。

          小 結

          上面介紹了通過JK插件來實現Tomcat與Apache以及IIS服務器集成的步驟。Tomcat提供了專門的JK插件來負責Tomcat和HTTP服務器的通信。JK插件安置在對方HTTP服務器上。當HTTP服務器接收到客戶請求時,它會通過JK插件來過濾URL,JK插件根據預先配置好的URL映射信息,來決定是否要把客戶請求轉發給Tomcat服務器處理。Tomcat與Apache以及IIS服務器集成的異同之處參見下表。

          Tomcat與Apache以及IIS服務器集成的異同之處

          Tomcat與Apache集成 Tomcat與IIS集成
          JK插件的工作文件 workers.properties文件 workers.properties文件
          設置JK插件屬性 在Apache的配置文件httpd.conf中設置 在注冊表中設置
          設置URL映射信息 在Apache的配置文件httpd.conf中設置 在uriworkermap.properties文件中設置
          加載JK插件 把JK插件拷貝到/lib目錄下, 在Apache的配置文件httpd.conf中設置 LoadModule屬性 把JK插件所在的目錄作為IIS的虛擬目錄,把JK插件作為ISAPI篩選器加入到IIS中

          posted on 2007-11-19 15:42 野貓 閱讀(913) 評論(0)  編輯  收藏 所屬分類: JSP


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 庆安县| 梓潼县| 独山县| 通州市| 江陵县| 盘山县| 浦县| 高雄县| 晋江市| 鹿邑县| 乳山市| 个旧市| 丰原市| 东丽区| 遂平县| 玉田县| 杂多县| 阜平县| 苍溪县| 什邡市| 鲁山县| 绥化市| 东宁县| 桦甸市| 阿拉善右旗| 丰都县| 民权县| 南宫市| 富宁县| 甘洛县| 灵台县| 盘山县| 蚌埠市| 射洪县| 栖霞市| 东丰县| 湟中县| 新闻| 揭阳市| 荆州市| 太仆寺旗|