花了很久時間,終於搞定了IIS6和Tomcat的整合。現在把步驟貼出來給各位一點參考,也免去了新手在Google上暴走和一次次的調試。開始吧!
首先先說明我的系統,Windows 2003 Server中文版+IIS6+Tomcat5.0.14,JDK 1.4.2安裝目錄為C:\JDK,Tomcat安裝目錄為C:\Tomcat,環境變量JAVA_HOME和TOMCAT_HOME都已設置好並指向其各自的安裝目錄。(注意,接下來所有文件中涉及到tomcat路徑的請自行修改為自己的Tomcat路徑)
Tomcat5和IIS6的安裝我就不說了,網上的文檔很多,假定此時我們已經安裝好了Tomcat5和IIS6並都能獨立運行,兩者的默認網站均指向C:\web目錄。
現在我們要做的是到http://apache.linuxforum.net/dist/jakarta/tomcat-connectors/jk2/binaries/win32/jakarta-tomcat-connectors-jk2.0.2-win32-IIS.zip 去下載JK2,由JK2負責IIS和Tomcat的通訊,解開後得到isapi_redirector2.dll,我把它放在了C:\tomcat\iis下(目錄隨便)。
接下來在Tomcat安裝目錄下的conf目錄下建一個workers2.properties文件,把下面這段東東拷進去保存。注意file=".."之中的路徑要用"/"哦!
[shm]
file=c:/Tomcat/logs/jk2.log
size=1048576
# 實際運用時把所有的localhost和8009換成你自己的IP和端口
[channel.socket:localhost:8009]
port=8009
host=localhost
# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
# Uri mapping
[uri:/*.jsp]
[uri:/web/*]
worker=ajp13:localhost:8009
# define the worker
[status:status]
# Uri mapping
[uri:/jkstatus/*]
worker=status:status
之後編輯jk2.properties文件,確認其中是否有此一句:
request.tomcatAuthentication=false
接下來開始編輯注冊表,直接建一個iis.reg文件,把下面一段拷進去保存然後雙擊iis.reg把信息導入注冊表。(注意,把涉及的Tomcat路徑改成你的Tomcat的路徑)
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\2.0]
"serverRoot"="c:\\Tomcat"
"extensionUri"="/jakarta/isapi_redirector2.dll"
"workersFile"="c:\\Tomcat\\conf\\workers2.properties"
"logLevel"="INFO"
然後打開“我的電腦->控制面板->管理工具->Internet信息服務管理器”,在裡面選擇“網站”中的默認網站(默認網站我假定指向C:\web),在其上點右鍵選“屬性”,在彈出的頁框裡選擇“ISAPI篩選器”,點“添加”,篩選器名稱填jakarta,可執行文件中填入你的isapi_redirector2.dll的絕對路徑。“確定”後點“確定”關閉屬性頁。再在“默認網站”上右鍵,選擇“新建”->“虛擬目錄”,別名填jakarta,下一步,路徑選為你的isapi_redirector2.dll存放的目錄,我的是C:\tomcat\iis,下一步,權限中記得把“執行”那項打勾,好了,完成。
如果你用的是IIS5的話,到這裡就可以結束了,但IIS6還沒完,繼續。
在“Internet信息服務管理器”的“網站”中的“Web服務擴展”上點右鍵選擇“添加一個新的Web服務擴展”,彈出的框中擴展名填Tomcat(其實無所謂的),“要求的文件”選“添加”然後找到你的isapi_redirector2.dll後“確定”。“設置擴展狀態為允許”也打上勾,確定。
好了,配置完了。現在我們啟動Tomcat5,然後net start w3svc啟動IIS6。鍵入http://localhost:8080/hello.jsp(這個文件是我放在c:\web下的)看看!然後在看看http://localhost/hello.jsp,如果兩者執行結果一樣,恭喜你,整合成功了!
但或許此時還不行,這時你該確認以下幾點:
1.你的“Internet信息服務管理器”->“網站”->“默認網站”->“屬性”->“ISAPI篩選器”中的jakarta是否是向上的綠色箭頭?如果是紅色的,檢查一下你之前做的配置有沒有少了或是寫錯了點什麼,再重新配置一遍
2.確認你的Tomcat安裝目錄下的common\lib目錄中是否有tools.jar文件(Tomcat5好像是有的,但Tomcat4中是沒有的,網上的文檔很少提到這件事,致使我多次配置失敗),沒有的話從JDK的lib下拷一個過去。
3.IIS指向的目錄最好和Tomcat指向的目錄一致,不然會發生找不到圖像和其他資源文件的問題。(這點不影響執行,呵呵!)
4.英文文檔中還提到應該把IIS6設置為IIS5隔離模式,“Internet信息服務管理器”->“網站”->“屬性”->“服務”,把“以IIS5.0隔離模式運行WWW服務”打上勾。不過我不打勾也能正常使用,如果你配置不成功也可以試試這個。
還不行?好,我們來狠的,打開機箱,取出硬盤,扔到地上給我踩,踩,踩!看你還敢跟我頂^_^(開個玩笑,不過之前我配置多次失敗後確實有些無奈和懊惱)
此文實際也等於是轉載,我只是負責輸入而已,如有錯誤請指出!歡迎各位與我交流,[email protected],JSP程序員,EJB學習中......
參考網址:https://www.rit.edu/~ack5504/tomcat-iis6-howto/tomcat-iis6-howto.html
http://www.knowsky.com/3181.html