2012年9月25日 星期二

整合 IIS 5.1 和 Tomcat 5.5 的步驟

(07/27/2006)

目前只能使用 jk-1.2.15 版的 ispai_redirect.dll。我的環境是 XP Professional SP2 + IIS 5.1 + .Net 2.0。jk-1.2.18 (07/28/2006) 目前有問題。
安裝的方式請參考:
Configuring Tomcat with IIS. ONJava.com, 12/2002. 以及
How to Link Tomcat 5 with IIS6 on Windows 2003.
安裝的過程大概如下:
  1. 安裝 IIS。
  2. 安裝 Tomcat 5.5.x。如果是測試環境,請記得依照本網站的其他資料修改 Tomcat 的設定檔,使得 reloadable 為 true,以及可以允許 anonymous servlets 來執行。
  3. 下載 isapi_redirect.dll,並儲存於(例如)d:\\tomcat\\bin\\win32 內。
  4. 設定 workers.properties,這個檔案應該位於(例如)d:\\tomcat\\conf 目錄內。以下我們提供一個範例:
    worker.list=ajp13 
    #上面這一行會設定有幾個 worker,目前只有一個
    worker.loadbalancer.type=lb 
    #上面這一行會自動幫所有的 workers 作 load balancing 的動作
    ps=\\
    #上面這一行註明路徑符號,ps=\\ 給 NT,ps=/ 給 Unix
    worker.ajp13.port=8009 
    worker.ajp13.host=localhost 
    worker.ajp13.type=ajp13 
    worker.ajp13.lbfactor=1 
    
    在 Tomcat 的設計概念裡,servlets 和 JSPs 的執行是由 worker 來負責的,
    因此我們在設定檔內必須設定 worker。在上例中,我們設定了一個名為 ajp13
    的 worker(ie. worker.list=ajp13),而且在 worker.loadbalancer.type=lb
    這一行我們要求 Tomcat 自動幫我們做 load balance 的動作(這個動作有可能
    是多餘的,有機會應該測試一下會不會比較快,尤其在有 HyperThreading 或者
    Core Duo 的平台上)。ps=\\ (path separator)設定路徑的分隔符號是反斜線,
    很明顯的如果是 Unix 平台就用斜線,但是你聽過 IIS 在 Unix 上執行嗎?
    最後四行是設定名稱為 ajp13 的 worker 用的。
  5. 設定 uriworkermap.properties,這個檔案也應該位於(例如)d:\\tomcat\\conf 目錄內。以下我們提供一個範例:
    /jsp-examples/*=ajp13
    
    這個範例說明所有 d:\\tomcat\\webapps\\jsp-examples 底下的所有檔案(以及
    他的子目錄),如 html、jsp、servlets 等都是由 Tomcat 來負責處理,而不是
    由 IIS 來處理。有一件事情要特別注意,如果你要同時使用 IIS 和 Tomcat(Apache 和 Tomcat 也是一樣),不要開發任何 jsp 或者 servlet 在
    d:\\tomcat\\webapps\\ROOT 內。我們建議,如果你有一個系統叫做 mis,
    則你只需要在 uriworkmap.properties 內再加上一行
    /mis/*=ajp13
    
    即可(mis 指的是 d:\\tomcat\\webapps\\mis 這個目錄)。
  6. 依照參考資料的方式增加 registry。有幾件事情要特別留意:(1)不要輸入錯誤的字,請小心的檢查;(2)如果你設extension_uri=/tomcat /isapi_redirect.dll,請注意你必須在下一個步驟中設定一個虛擬目錄叫做 tomcat,不可以是其他的名稱。
  7. 將 isapi_redirect.dll 與 IIS 結合。注意,設定完 “ISAPI篩選器” 之後,記得要從新啟動 IIS,併檢查你剛剛新增的篩選器的左邊是否是綠色而且是朝向上的箭頭?如果不是,你必須再三確定。
要特別注意的是,IIS 和 Tomcat 的啟動順序是先啟動 Tomcat 然後才啟動 IIS。如果你從新開機,記得要先停止 IIS,然後再以啟動 Tomcat、IIS 的順序來啟動。
最後,請參考 Install Tomcat 5 as service on Windows NT/200x/XP 的方式來將 Tomcat 設定成服務,使得每一次開機會自動啟動。請記得你還是要設定 IIS 和 Tomcat 的啟動順序(設定方式:控制台–>系統管理工具–>服務–>依存性)。

沒有留言:

張貼留言