win2000/2003下整合IIS+Tomcat5支持jsp
2024-08-29 03:15:48
供稿:網友
windows2003 + IIS6 + Tomcat5.配置
2000和2003下整合IIS+TOMCAT詳細的配置如下:
1、安裝JDK,(我安裝在 D:/java)設置環境變量[CLASSPATH、JAVA_HOME、Path](根據自己的JDK安裝路徑設置)
“我的電腦”->點右鍵->“屬性”->“高級”->“環境變量”->“系統變量”->新建->變量名:
CLASSPATH=.;D:/java/jdk/lib/tools.jar;D:/java/jdk/lib/dt.jar
JAVA_HOME=D:/java/jdk
path=.;D:/Java/jdk/bin;
測試:在DOS下輸入javac回車,出現javavc的使用說明表示你的JDK安裝成功
在DOS下輸入java回車,出現java的使用說明表示你的環境變量設置成功
2、安裝Tomcat,(我安裝在 D:/Tomct5,安裝的HTTP端口是8080,HTTP端口安裝完成后可以在server.xml中修改)設置環境變量TOMCAT_HOME(根據自己的Tomcat安裝路徑設置)
TOMCAT_HOME=D:/Tomct5
測試:啟動tomcat,在IE中輸入:8080出現tomcat的歡迎界面,安裝成功!
3、在IIS中把JSP相關的請求發送到Tomcat需要Tomcat Connector的支持,去apache網站下載JK2,JK2負責IIS和Tomcat的通訊,下載地址:
下載:jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip
解壓后找到bin目錄中的isapi_redirector2.dll文件,我把它放在了D:/Tomcat5/iis下(目錄隨便)。
4、創建workers2.properties文件
在Tomcat安裝目錄下的conf目錄下建一個workers2.properties文件,把下面這段內容拷進去保存,
實際運用時把所有的localhost和8009換成你自己的IP和端口:
[shm]
file=D:/Tomcat5/logs/jk2.log
size=1048576
# Example socket channel, override port and host.
[channel.socket:localhost:8009]
port=8009
host=127.0.0.1
# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
# Uri mapping
[uri:/*.jsp]
[uri:/*.do]
worker=ajp13:localhost:8009
# define the worker
[status:status]
# Uri mapping
[uri:/jkstatus/*]
worker=status:status
使用前請先修改文件的file=D:/Tomcat5/logs/jk2.log這一行,改成你需要的路徑,copy地址欄的路徑時請注意,是"/"而不是“/”,跟windows表示的路徑不一樣。在 # Uri mapping 處設置你需要tomcat操作的內容。
5、編輯Tomcat安裝目錄下的conf目錄中的jk2.properties文件(如果沒有新建一個)
添加如下內容:
request.tomcatAuthentication=false
6、編輯注冊表
新建一個iis.reg文件,把下面這段內容拷進去保存然后雙擊iis.reg把信息導入注冊表。
(注意,把涉及的Tomcat路徑改成你的Tomcat的路徑)
iis.reg文件內容如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE/SOFTWARE/Apache Software Foundation/Jakarta Isapi Redirector]
[HKEY_LOCAL_MACHINE/SOFTWARE/Apache Software Foundation/Jakarta Isapi Redirector/2.0]
"serverRoot"="D://Tomcat5"
"extensionUri"="/jakarta/isapi_redirector2.dll"
"workersFile"="D://Tomcat5//conf//workers2.properties"
"logLevel"="DEBUG"
7、添加“ISAPI篩選器(以便Connector能截取到URL請求)
打開“開始菜單->設置->控制面板->管理工具->Internet 服務管理器"在里面選擇“網站”中的默認網站(默認網站我的指向D:/Tomcat5/webapps) (注:2000系統為 “開始菜單->設置->控制面板->管理工具->Internet 服務管理器在里面選擇默認Web站點"),在其上點右鍵選“屬性”,在彈出的頁框里選擇“ISAPI篩選器”,點“添加”,篩選器名稱填jakarta,可執行文件中填入你的isapi_redirector2.dll的絕對路徑(就是第3部中isapi_redirector2.dll文件存放的位置,我的是D:/Tomcat5/iis/isapi_redirector2.dll)。“確定”后點“確定”關閉屬性頁。
8、新建虛擬目錄
在Internet信息服務管理器中,在里面選擇“網站”中的默認網站,點右鍵,選擇“新建”->“虛擬目錄”,別名填jakarta,下一步,路徑選為你的isapi_redirector2.dll存放的目錄,我的是D:/Tomcat5/iis,下一步,權限中記得把 "執行(例如ISAPI應用程序或CGI)"一項打上勾,再點下一步,再點“完成”。
如果你用的是IIS5的話,到這里就可以結束了,但IIS6還沒完(稍候介紹)。
9、重新啟動“默認 Web 站點”。然后在“默認 Web 站點”點右鍵->“屬性”->“ISAPI篩選器”,如果"jakarta"前面的箭頭是綠色的,那么表明配置已經成功了。如果箭頭是紅色,那么請你檢查整個配置過程,看看有沒有弄錯的地方。
10、IIS6需添加此步驟,(如果是IIS5跳過) 在“Internet信息服務管理器”的“網站”中的“Web服務擴展”上點右鍵選擇“添加一個新的Web服務擴展”,彈出的框中擴展名填jsp(這里的名稱無所謂,隨便取一個),“要求的文件”選“添加”然后找到你的isapi_redirector2.dll后“確定”。“設置擴展狀態為允許”也打上勾,確定。
至此,Connector就可以對請求進行過濾,把符合配置文件中的請求重寫到extension_uri指定的uri進行處理,這里為/jakarta/isapi_redirect2.dll,然后isapi_redirect2.dll再轉發到tomcat的8009由tomcat處理完成后再循原路發回去.
11、新建測試文件 在tomcat安裝目錄中的weapps中新建一個test目錄,里面新建一個test.jsp文件和相應的WEB-INF目錄和web.xml文件。
12、重啟電腦
13、啟動Tomcat,再啟動IIS 打開IE,輸入:8080/test/test.jsp
然后再看看,如果兩者執行結果一樣,恭喜你,整合成功了!
注:
1.如果在輸入顯示tomcat的錯誤信息,看一下你的tomcat安裝目錄中的common/lib目錄下有沒有tools.jar文件,如果沒有就去把JDK安裝目錄中的lib目錄下的tools.jar拷貝進來。
2. IIS指向的目錄最好和Tomcat指向的目錄一致,不然會發生找不到圖像和其他資源文件的問題。
3.你需要tomcat處理的文件和目錄可以在workers2.properties(見第4步)中的# Uri mapping與worker=ajp13:localhost:8009之間設置,如:[uri:/*.jsp],[uri:/*.do],每次修改workers2.properties后需要重啟IIS才能生效。
4.英文文檔中還提到應該把IIS6設置為IIS5隔離模式,“Internet信息服務管理器”->“網站”->“屬性”->“服務”,把“以IIS5.0隔離模式運行WWW服務”打上勾。這個也可以不選擇,如果你配置不成功就把這個勾上。
5.如果上述方法都試過了還無法成功整合的話,可以嘗試如下操作:虛擬目錄-à屬性à虛擬目錄選項à配置 添加一個應用程序擴展,擴展名為 .jsp 可執行文件為isapi_redirector2.dll 的絕對路徑,同樣添加 .do 對應isapi_redirector2.dll 的應用程序擴展。
6. tomcat 默認端口是8080,從步驟4可以知道,JK2使IIS能夠把所有的jsp 請求發送到tomcat ,讓tomcat 的8009端口來處理請求,所以不用把tomcat 的默認端口改成8009,這樣的話會存在沖突,導致整合無法成功。
:8080/test/test.jsp
然后再看看,如果兩者執行結果一樣,恭喜你,整合成功了!