IIS 集成 Tomcat
制作環境:
?
Windows 2003 + IIS6、jre1.5.0_06、apache-tomcat-5.5.17
首先需要做以下準備工作
?
1、安裝好 Tomcat 和 IIS6 ,并且都能正常運行
? 2、Tomcat的端口沒做任何修改
? 3、下載好 集成需要的 isapi_redirector2.dll 文件
???
http://archive.apache.org/dist/tomcat/tomcat-connectors/jk2/binaries/win32/jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip?
集成步驟
? 1、配置環境變量
JAVA_HOME
和
TOMCAT_HOME
? 2、將 isapi_redirector2.dll 文件拷貝到 TOMCAT_HOME 中的任意一個目錄中,如:TOMCAT_HOME/iis 此目錄需要新建
? 3、新建一個目錄存放站點,如:d:\web 并在其中新建一個 ROOT 目錄,此目錄作為站點的默認起始目錄
? 4、打開 IIS 控制臺,新建一個站點,如果自己有域名的話可以在主機頭中輸入自己的域名,
???? 如:
www.oksonic.cn
這樣就不會和原來的默認網站沖突了,現在需要將默認網關停止后再新建
? 5、新建一個虛擬目錄,名稱為:jakarta 這個名稱不能改變,路徑為
TOMCAT_HOME/iis
,也就是放
dll
文件的
目錄
???? 打開站點屬性窗口,進入
ISAPI
篩選器,點擊添加銨鈕,在篩選器名稱中輸入
jakarta
,這個名字也不能修改,所以要注意是否正確,
???? 在可執行文件中選擇
TOMCAT_HOME/iis/isapi_redirector2.dll
文件
???? 進入主目錄選項卡,在彈出窗口中選擇添加,這里對
jsp
文件和
struts
的
do
訪問方式進行映射配置,點擊添加銨鈕,
???? 可執行文件選擇?
TOMCAT_HOME/iis/isapi_redirector2.dll
,擴展名為
jsp
,同樣對
do
也進行配置
? 6、新增一個 Web 服務擴展,擴展名隨意填,如:
Tomcat
,要求的文件選擇
TOMCAT_HOME/iis/isapi_redirector2.dll
,
???? 選中設置擴展狀態為充許項,然后確定
? 7、拷貝
jk2.properties
、
workers2.properties
兩個文件到
TOMCAT_HOME/conf
目錄中
jk2.properties 文件內容如下:
request.tomcatAuthentication=false
?
workers2.properties 文件內容如下:(
以下第二行的文件路徑需要根據自己的配置進行修改
)
[shm]
file=
d:/Tomcat/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]
[uri:/do/*]
worker=ajp13:localhost:8009
?
# define the worker
[status:status]
?
# Uri mapping
[uri:/jkstatus/*]
worker=status:status
?
注意 # Uri mapping 部份,現在已經開通了對jsp文件和struts的兩種訪問方式,如果還有其它的文件訪問需要轉到Tomcat來處理的話都在此進行配置
? 8、現打開注冊表文件,
修改綠色字體部份,注意路徑表示符
文件內容如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\2.0]
"serverRoot"="
D:\\Tomcat
"
"extensionUri"="/jakarta/isapi_redirector2.dll"
"workersFile"="
D:\\Tomcat\\conf\\workers2.properties
"
"logLevel"="DEBUG"
??? 修改完成后將導入注冊表(雙擊此文件)
? 9、修改
tomcat
的配置文件
server.xml
???
使用以下內容替換原來的
<host>...</host>
內容,
綠色字體為需要修改的內容
<Host name="
localhost
" debug="0" appBase="
d:\web
" unpackWARs="true" autoDeploy="true">
?
????? <Logger className="org.apache.catalina.logger.FileLogger" directory="logs"? prefix="
oksonic_log.
" suffix=".txt" timestamp="true"/>
?
????? <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"? prefix="
oksonic_access_log.
" suffix=".txt" pattern="common" resolveHosts="false"/>
??? </Host>
? 拷貝 Tomcat_Home/webapps/ROOT 下的文件到 web/ROOT 中
重啟IIS和Tomcat服務
??
打開瀏覽器輸入
http://localhost/index.jsp
進行測試,正常的話可以顯示
Tomcat
默認的首頁
?? 這時再進入到
IIS
的管理工具中查看ISAPI篩選器,這時應該顯示一個綠色向上的箭頭,如果沒有綠色箭頭的話應該是有一個紅色的向下的箭頭,這表明是配置有問題,請檢查,如果一個箭頭也沒有的話應該是沒有使用瀏覽進行測試,只要有一遍測試的話就應該有箭頭了
?? 這里配置完成后有一個問題,就是無法使用 http://localhost 直接打開 index.jsp ,
?? 即使是配置了IIS6的默認首頁也不行,我采用的方法是使用一個
index.htm
文件來進行跳轉,文件內容如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd";>
<html>
<head>
<meta http-equiv="refresh" content="0; url=/index.jsp">
</head>
?
<body>
?
</body>
</html>
?
整個配置基本完成,現在需要解決亂碼的問題,如果有遇到亂碼問題的話
?
這里使用的全是
UTF-8
?
在項目中要使用
UTF-8
的編碼,并配置了過濾器,過濾編碼也是
UTF-8
?
修改
Tomcat
的配置文件
server.xml
,在端器配置的地方加入
URIEncoding="UTF-8"
如:
<Connector
URIEncoding="UTF-8"
port="8080"?????????????? maxHttpHeaderSize="8192"
?????????????? maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
?????????????? enableLookups="false" redirectPort="8443" acceptCount="100"
?????????????? connectionTimeout="20000" disableUploadTimeout="true" />
?
?
這里是Tomcat使用的編碼,還要配置集成時使用的編碼,因為集成時使用的端口為 8009 所以在配置8009端口的地方也要加入? URIEncoding="UTF-8"
如:
<Connector
URIEncoding="UTF-8"
port="8009"
?????????????? enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
?
好了,重啟
IIS
服務和
Tomcat
服務,整個集成工作就完成了
在這里我無法對亂碼問題進行測試,這是我在開發時所發現并已經解決的方法,希望對大家有用。
posted on 2006-07-06 08:46 nbt 閱讀(485) 評論(0) 編輯 收藏 所屬分類: Java2EE