如何使用JK2連接器配置Tomcat 5.0.x和IIS 5.0協(xié)同工作
如何使用JK2連接器配置Tomcat 5.0.x和IIS 5.0協(xié)同工作
2004.5 臧士睿 qq:10743383
網絡轉載請保留作者聲明,盈利性印刷刊物轉載請聯(lián)系 zself@vip.cc163.com
本文中所有操作都已經在Window2000 Advance Server和Window2000 Professional下測試通過
所有內容:New IIS5.0+Tomcat5.0.x HowTo
專題討論區(qū):http://hh.cc163.com/form/cgi-bin/forums.cgi?forum=4
主頁:http://hh.cc163.com/
目錄
?
序
最近遇到一個項目,無法避免的需要將IIS和Tomcat協(xié)調起來協(xié)同工作,同時解析asp和jsp兩種腳本語言。
查看Tomcat官方HowTo,幾經操作并未成功。查看網上討論,發(fā)現(xiàn)中文資料介紹的都是tomcat4.x版本的配置方法,老舊已經不適用。后來對照多篇英文資料,學習、操作之后獲得成功。
鑒于討論此問題的中文資料之匱乏,遂決定將我的配置過程整理,但愿對同好者有所幫助。
此文章論述內容、書寫格式仿照了http://virtualict.net/support/kb/iis6-Tomcat5-JK2.html,并引用了其中部分文字。
在我配置、翻閱資料的過程當中,感覺到了IIS、Apache Tomcat、JK2等官方文檔對此問題論述的不詳盡,甚至有時候感覺到了被誤導,以至增加了解決問題的難度,期待與大家討論。
本人的配置環(huán)境
Window2000 Professional+sp4
(Window2000 Advance Server+sp4)
IIS 5.0
j2sdk1.4.2_04
jakarta-tomcat-5.0.24
jakarta-tomcat-connectors-jk2.0.4
配置過程中涉及的路徑如果沒有特殊說明,則都不是系統(tǒng)要求,大家可以修改以適應自己機器的環(huán)境。
這里是另一個自動安裝程序,使用方法本文不做討論
Isapi redirector jk2.02 Installer - Integrating Tomcat with IIS
摘要
這是一篇講述如何安裝、配置Tomcat 5 Java Servlet & JSP服務到微軟IIS 5.0服務器的文章,這篇文章是本人自己配置過程和經驗的總結,并推薦了一些給過本人極大幫助的文檔。
掌握方法的朋友只需要15分鐘就能完成整個配置過程。
準備工作
Microsoft Windows 2000 professional, IIS5 已經安裝并工作正常
需要下載的軟件:
- Java 2 Standard Edition Software Development Kit 1.4.2.04 (或更高版本)
- Jakarta Tomcat 5.0 (或更高版本)
- jakarta Tomcat Connectors-JK2.0.4(或更高版本)
由于版本更新的問題,這里沒有給出軟件的準確下載地址,但根據下面的鏈接用戶可以很容易找到所需軟件的確切地址。
Java 2 SDK 1.4.2 (或更高版本)
來自 java.sun.com/downloads/ 選擇 the J2SE 1.4.2 (或更高版本) All platforms
?
然后按照提示進入文件列表頁面,下載文件
Tomcat 5.0.24 (或更高版本)
來自Apache Jakarta的for Win的編譯版本。Tomcat 5.x 應該在頁面的底部。寫此文章的時候Tomcat已經發(fā)布了5.0.25版,不過配置過程是一樣的。
選擇 5.0.24 可執(zhí)行文件 (或更高版本)
Tomcat Web Server 連接器
同樣在Apache Jakarta下載頁面。Tomcat Web Server 連接器就在Tomcat 5.0.24鏈接的下面
選擇 JK2 編譯版本
選擇 win32, 然后選擇下載jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip
注意 這個目錄列表顯示的文件名稱被截斷,所以你需要觀察瀏覽器狀態(tài)欄中的提示,確認你準備下載的文件應該是以"...iis.zip"為結尾的
安裝
建議大家把下載的文件放在同一個文件夾里。
Java 2 SDK
運行j2sdk-1_4_2_04-windows-i586-p.exe 按照提示安裝
可以更改安裝路徑到你習慣的地方
?
Tomcat 5
運行jakarta-tomcat-5.0.24.exe 按照提示安裝.
如果要改變安裝路徑,可以在這個步驟操作。
可以更改至其它路徑,如 C:\Tomcat 5.0
設定密碼,妥善保管密碼,不推薦空密碼。
這個步驟是選擇本地機器的jdk路徑,一般情況下,安裝文件會自動搜索并顯示,如果沒有正確顯示,也可以手動更改。
成功安裝后,程序會提示啟動tomcat并查看readme文檔。
注意: 啟動Tomcat之前要確定系統(tǒng)沒有其它服務已經占用8080端口(Tomcat默認端口)和8009端口( Tomcat's AJP13 連接器端口)
Tomcat正常啟動后會在系統(tǒng)欄加載圖標
在圖標上右鍵鼠標可以看到一些設置項目
![]()
點擊Configure...看到如下顯示,選擇Startup type為automatic自動啟動。
Tomcat JK2 IIS 連接器
解壓縮jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip得到如下文件夾
進入\bin\后可見
剪切/復制isapi_redirector2.dll 文件到Tomcat's bin\目錄中
新建目錄win32\i386\ 并粘貼isapi_redirector2.dll。
記住這個路徑,稍后配置IIS的時候還會用到。這個路徑不是系統(tǒng)要求的,可改變!
現(xiàn)在可以刪除jakarta-tomcat-connectors-jk2.0.4-win32-IIS目錄,這里面的文件已經沒用了。實際上在jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip中我們只用到了isapi_redirector2.dll一個文件
設置
Tomcat
進入 Tomcat's conf\ 文件夾.
要支持 JK2 連接器, 你可能需要修改jk2.properties文件. 大多數(shù)情況下保留此文件的默認狀態(tài)即可,本人的多次配置過程都沒有修改過這個文件。
## THIS FILE MAY BE OVERRIDEN AT RUNTIME. MAKE SURE TOMCAT IS STOPED ## WHEN YOU EDIT THE FILE. ## COMMENTS WILL BE _LOST_ ## DOCUMENTATION OF THE FORMAT IN JkMain javadoc. # Set the desired handler list # handler.list=apr,request,channelJni # # Override the default port for the socketChannel # channelSocket.port=8019 # Default: # channelUnix.file=${jkHome}/work/jk2.socket # Just to check if the the config is working # shm.file=${jkHome}/work/jk2.shm # In order to enable jni use any channelJni directive # channelJni.disabled = 0 # And one of the following directives: # apr.jniModeSo=/opt/apache2/modules/mod_jk2.so # If set to inprocess the mod_jk2 will Register natives itself # This will enable the starting of the Tomcat from mod_jk2 # apr.jniModeSo=inprocess
現(xiàn)在輪到workers2.properties,這個文件需要自己創(chuàng)建,內容如下(附件中有一個copy)
紅色的這行要注意了,把"C:\Tomcat 5.0\work\"這個路徑修改成你自己的路徑,而jk2.shm這個文件不用擔心,它現(xiàn)在不存在也沒有關系,它會在需要的時候自動被創(chuàng)建。
[shm:]
info=Shared memory file. Required for multiprocess servers
file=C:\Tomcat 5.0\work\jk2.shm
size=1000000
[channel.socket:localhost:8009]
info=Ajp13 worker, connects to tomcat instance using AJP 1.3 protocol
tomcatId=localhost:8009
[uri:/jsp-examples/*]
info=JSP examples, map requests for all JSP pages to Tomcat.
context=/jsp-examples
[uri:/servlets-examples/*]
info=Servlet examples, map requests for all servlets to Tomcat.
context=/servlets-examples
看過網上的討論,有些朋友配置過程中的問題就出現(xiàn)在這里,所以多講幾句:
這個文件中指定了解析jsp的目錄,也就是"http://xxxxx/dir/aa.jsp"這個url中的"dir",比如我們的網站中要增加/dir/這個路徑,并使這個路徑下面的jsp能夠被解析,那你就需要在workers2.properties文件中增加這樣一段話
[uri:/dir/*]
info=JSP examples, map requests for all JSP pages to Tomcat.
context=/dir
并且在Tomcat的工作目錄中建立"/dir/"這個目錄。比如我們到現(xiàn)在為止,Tomcat的工作目錄是默認的"/ROOT/",那我們就需要在"/ROOT/"路徑下新建"/dir/"目錄,并放置aa.jsp文件。重起服務之后,我們才能用"http://xxxxx/dir/aa.jsp"這樣的url來訪問aa.jsp文件。
過去有的朋友誤以為"dir"是IIS工作目錄中的路徑,運行時無法顯示頁面,或者jsp代碼沒有解析,其實就是這個路徑設置的問題。
值得注意的是如果IIS和Tomcat的工作目錄同時存在"/dir/",那么服務器會把此路徑連接至Tomcat處理。
當你的Tomcat和IIS一起正常工作后,你可以隨時修改這個文件以增加新的目錄來支持jsp的運行。
這里是關于worker2.properties這個文件更多的規(guī)則。
右鍵系統(tǒng)欄中的Tomcat服務圖標,選擇"Stop service",關閉服務。
在"管理工具-服務"中找到"Apache Tomcat"服務,并確定它已經啟動。
Tomcat IIS 連接器
你已經放置isapi_redirector2.dll在你的路徑下,本例子中是
C:\Tomcat 5.0\bin\win32\i386
現(xiàn)在需要添加一些必要的注冊信息到注冊表,redirector被IIS調用時會讀到。建立一個.reg文件
Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\2.0]
"workersFile"="C:\\Tomcat 5.0\\conf\\workers2.properties"
"extensionUri"="/jakarta/isapi_redirector2.dll"
"logLevel"="debug"
"serverRoot"="C:\\Tomcat 5.0\\"
在記事本中寫入上面的文字,并保存為 reg.reg (附件中有一個copy)
雙擊.reg文件
成功則顯示如下:
注冊表中可以看到:
![]()
?
現(xiàn)在可以刪除這個.reg文件了
Windows
添加兩個系統(tǒng)環(huán)境變量,他們是CATALINA_HOME和JAVA_HOME.
在桌面上右鍵"我的電腦",選擇"屬性-高級-環(huán)境變量"
CATALINA_HOME 指向你的Tomcat安裝目錄,本例子中是 C:\Tomcat 5.0
JAVA_HOME 指向Java SDK安裝目錄,本例子中是 C:\j2sdk1.4.2_04
IIS
安裝ISAPI篩選器
進入ISAPI篩選器 界面
點擊 添加 按鈕,鍵入一個新的篩選器名稱,名稱可以隨意起
再點擊 瀏覽 按鈕,選擇isapi_redirector2.dll。本例子中是
C:\Tomcat 5.0\bin\win32\i386\isapi_redirector2.dll
點擊確定。IIS重起之后新的篩選器才會生效,我們先不重起,稍后再做。
點擊確定保存修改,退出站點屬性對話框。
注意Note: 你可以選擇特定的站點進行設置,增加篩選器,也可以對所有站點同時增加篩選器
在IIS樹中右鍵左側的"計算機",調出屬性,選擇"編輯"調出主屬性對話框
調出主屬性對話框,添加篩選器。
創(chuàng)建篩選器所需要的虛擬目錄
選擇需要加載Tomcat服務站點,右鍵選擇新建,再選擇虛擬目錄
創(chuàng)建虛擬目錄,別名為jakarta。注意這個名字是固定值,不要拼寫錯誤!
指定目錄為isapi_redirector2.dll所在目錄. 本例子中是 C:\Tomcat 5.0\bin\win32\i386
選擇執(zhí)行,使之可用
成功建立虛擬目錄之后,你應該在管理其中看到如下顯示。
?
重新啟動IIS服務
選擇計算機,右鍵,選擇重新啟動IIS
選擇重新啟動Internet服務,點擊確定
操作系統(tǒng)中管理工具-事件查看器中可以查看服務的啟動情況,isapi_redirector2.dll會把它的出錯信息寫入事件查看器,而不是像較早版本那樣寫入一個文件中。
啟動之后在IIS控制臺,站點屬性中的ISAPI篩選器的列表中,可以看到Tomcat連接器的狀態(tài),有綠色向上箭頭就對了
測試
Tomcat
首先測試Tomcat安裝的例子能否運行,使用Tomcat自己的服務器和端口
測試服務器中的servlets: http://localhost:8080/servlets-examples/
測試服務器中的JSP: http://localhost:8080/jsp-examples/
測試Tomcat管理界面: http://127.0.0.1:8080/admin/
IIS
現(xiàn)在我們訪問IIS中的同一個例子,來測試連接器是否工作,注意修改地址和端口跟你的IIS相符合
http://localhost/servlets-examples/
http://localhost/jsp-examples/
?
如果一切正常,則你已經使得IIS5在Tomcat JK2 IIS 連接器的工作下可以解析jsp&servlet程序了,祝賀你。
并樂意得到你的經驗和對此文章的反饋。(http://hh.cc163.com/form/cgi-bin/forums.cgi?forum=4)
希望大家到討論區(qū)發(fā)表你的成功經驗,以幫助別人。(http://hh.cc163.com/form/cgi-bin/forums.cgi?forum=4)
參考文獻
JK Documentation(iishowto)
http://virtualict.net/support/kb/iis6-Tomcat5-JK2.html
原文完整版
http://hh.cc163.com/java/NewIIS5+TomcatHowTo/NewIIS5+Tomcat5HowTo.htm
?
----------------------------------------------------------------
Email: zself@vip.cc163.com
http://hh.cc163.com
Oicq:10743383
posted on 2006-09-25 11:30 春輝 閱讀(365) 評論(0) 編輯 收藏 所屬分類: Tomcat 相關