Tomcat與IIS整合手記(轉載)

Tomcat與IIS整合手記(轉載)

[日期:2012-04-01] 來源:  作者: [字體:  ]


付曉波

文件及版本:下載

TomcatApache Tomcat 6.0.18  文件名:apache-tomcat-6.0.18.exe

Java JDKJDK 1.6.11 (JDK 6 u11)  文件名:jdk-6u11-windows-i586-p.exe

連接器:jk2   文件名:isapi_redirector2.dll

註冊表文件名:jk2.reg

IIS6

服務器系統:Window 2003 Server + SP2

安裝配置IIS6Tomcat6

 

一、裝好Window2003Server+SP2IIS6,將首頁文檔改爲index.asp。將下列內容插入index.asp中:

 

<center><h1>現在的時間是:<%=time%></h1></center>

 

如果是本機,則在瀏覽器中打入http://localhost。如果配置正確,瀏覽器應該顯示當前時間。

由於asp的配置網上很多,這裏不再贅述。

二、安裝Java JDK,一路默認安裝即可。本文安裝目錄爲:E:\Program Files\Java\jdk1.6.0_11

三、設置環境變量:我的電腦-->屬性-->高級-->環境變量:

添加:java_home   內容:E:\Program Files\Java\jdk1.6.0_11

添加:tomcat_home    內容:D:\Tomcat6

修改或添加:classpath     內容:.;%java_home%\lib\tools.jar;%java_home%\lib\dt.jar

修改:Path    在最後面添加內容:;%java_home%\bin

四、安裝Apache Tomcat 6.0.18,本文安裝目錄爲d:\Tomcat6(沒有空格)目錄下。可以考慮“全部安裝”。安裝完畢後,啓動Tomcat。這時電腦右下角應有Tomcat正在運行的標誌。如果沒有或Tomcat未啓動,則重新啓動服務器。重啓後,電腦右下角應有Tomcat正在運行的標誌。如果仍不正常,請重裝Tomcat

五、Tomcat運行後,在瀏覽器中打入http://localhost:8080,回車後應出現Tomcat的默認頁面。點擊左邊的“Examples”,看看示例能否正常運行。如果能,則Tomcat基本配置完畢。

六、在D:\vm\jsp目錄下新建一個jsp文件:index.jsp,內容如下:

 

<center>index.jsp:現在時間是: <%=new java.util.Date()%></center>

 

七、爲Tomcat配置站點。先用“寫字板”或“FrontPage”等文本編輯軟件將D:\Tomcat6\conf目錄下的server.xml文件打開,再保存一下,這樣以後用“記事本”打開就沒有亂碼了。編輯server.xml,在</engine>前加入以下代碼:

 

<Host name="test1.com"  appBase="D:\vm\jsp

            unpackWARs="true" autoDeploy="true" 

            xmlValidation="false" xmlNamespaceAware="false"> 

<Alias>test1.com</Alias> 

<Context path="" reloadable="true" docBase="D:\vm\jsp" /> 

</Host>

 

其中:test1.com是域名,通過修改客戶機上的C:\WINDOWS\system32\drivers\etc目錄下的hosts文件,可以訪問test1.com。用記事本打開hosts文件,在最下方添加:

192.168.0.111   test1.com

保存並關閉。其中:192.168.0.111就是服務器的IP地址,請根據實際情況修改。如果是服務器和客戶機是一臺電腦,則改爲127.0.0.1。這樣在訪問test1.com時實際訪問的就是您的服務器。

此時,在瀏覽器上打http://test1.com:8080回車後,應出現JSP的當前時間。

八、回到IIS管理器,建立一個網站,主機頭爲test1.com,目錄爲D:\vm\jsp,保存。首頁文檔爲index.htm

九、在D:\vm\jsp目錄下新建一個htm文件:index.htm,內容如下:

 

<center>這是IISindex.htm文件!</center>

 

十、此時,在瀏覽器上打http://test1.com回車後,應出現“這是IISindex.htm文件!”。

到此,IISTomcat分別配置成功!

IIS6Tomcat6整合

 

一、 將“連接器”文件isapi_redirector2.dll複製到d:\Tomcat6\bin\win32目錄下(win32目錄要新建)。

二、在d:\Tomcat6\conf目錄新建兩個文件:jk2.propertiesworkers2.properties

 

jk2.properties的內容如下

## 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

 

(好像幾乎全是註釋掉的)

workers2.properties的內容如下

[shm:]

info=Shared memory file. Required for multiprocess servers

file=d:\Tomcat\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:/] 

[uri:/*.jsp]  

[uri:!/*.asp]

 

(注意要給d:\Tomcat\work\目錄everyone寫的權限)

其中:[uri:/]代表根路徑的首頁文件歸Tomcat處理;[uri:/*.jsp]代表jsp文件歸Tomcat處理;[uri:!/*.jsp]代表asp文件Tomcat處理;其餘文件歸IIS處理。

 

三、創建一個註冊文件jk2.reg,內容如下:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\2.0]

“workersFile”=”D:\\Tomcat6\\conf\\workers2.properties”

“extensionUri”=”/akarta/isapi_redirector2.dll”

“logLevel”=”debug”

“serverRoot”=”D:\\Tomcat6”

 

保存後雙擊運行這個文件,導入註冊表中。

 

四、設置IIS網站的IsApi篩選器:

指向文件D:\Tomcat6\bin\win32\isapi_redirector2.dll


確定後是下面這樣:


五、在IIS中創建虛擬目錄jakartajakarta是一個規定的名字,必須這麼創建,這個虛擬目錄要指向isapi_redirector2.dll所在的目錄,並且設置爲可執行IsApi


六、在IIS的服務器擴展中添加允許isapi_redirector2.dll執行


重啓IISTomcat

 

 

 

訪問一下http://test1.com,這時先看看IIS默認網站的IsApitomcat是否爲綠色。如果不是,砸爛電腦。


可以看到jk2.shm已經被創建了,如果有問題在事件查看器中可以看到篩選器的錯誤說明


綠色後就可以通過IIS訪問Tomcat了,包括Tomcat的虛擬路徑也可以。

IIS:     http://test1.com/

tomcat:  http://test1.com/

 

七、workers2.properties中的設置

這個文件中[uri:/*]之類的設置會告訴篩選器符合哪些條件的路徑交給tomcat處理,像[uri:/*]會使篩選器把所有的地址都交給tomcat處理,這樣IIS中原來ASP的處理便全部都不能用了。

也可以指定某些地址才轉向Tomcat,像

[uri:/]

[uri:/*.jsp]

[uri:/admin/*]

[uri:/jsp-examples/*]

[uri:!/*.asp](注意“!”號)

表示/*.jsp  /admin/*  /jsp-examples/*才轉向tomcat,其他不符合這些條件的仍由IIS本身處理。

[uri:!/*.asp](注意“!”號)表示*.asp的文件不交給Tomcat處理。

[uri:/]表示根目錄的默認文件歸Tomcat處理,這樣可以直接打開index.jsp這個文件。

八、讓IISTomcat支持中文文件名:

IIS:編輯Windows2003的註冊表(要重新啓動才能生效):

HKLM\System\CurrentControlSet\Services\InetInfo\Parameters\FavorDBCS = 0

 

Tomcat

1>jsp文件最開頭加入下面這行(這裏是解決中文不能顯示的問題):

<%@ page language="java" contentType="text/html; charset=UTF-8" %>

 

 

2>然後改tomcatserver.xml文件(這裏是解決含有中文的文件、圖片的不能下載、顯示的問題): 

<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups="false" redirectPort="8443" acceptCount="100"

debug="0" connectionTimeout="20000" 

disableUploadTimeout="true" URIEncoding="UTF-8"/>

 

URIEncoding="UTF-8" 加上這句就可以識別中文文件了,也就是不光可以在jsp中顯示中文,還可以下載顯示。

 

九、總結:

1)調好IIS

2)安裝JDK1.6,默認安裝即可;

3)安裝Tomcat6,安裝目錄選D:\TOMCAT6(不要有空格);

4)設置服務器的環境變量;

5)重啓計算機後,設置Tomcat6conf下的server.xml文件,設置虛擬主機,使IISTomcat用同一路徑;

6)測試IISTomcat8080端口)

7)註冊文件

8)在d:\Tomcat6\conf目錄下創建jk2.propertiesworkers2.properties

9IIS建立web服務擴展

10IIS網站建立ISAPI篩選器

11IIS網站建立jakarta虛擬目錄,指向D:\TOMCAT\bin\win32,權限爲可執行

12)測試整合結果

13)處理中文顯示和中文文件名識別的問題。

14)注意D:\TOMCAT目錄要everyone可讀取;D:\TOMCAT\work目錄要everyone可寫。

15)如果您是做虛擬主機的,要求客戶在你指定的絕對目錄下編譯,負責你按照他編譯的目錄設置你的服務器,否則數據庫將無法被支持。

16)經過上述設置如果還不行,砸毀你的電腦。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章