IIS整合tomcat


IIS6.0+Tomcat7.0整合總結

(一)   為什么要把IIS、Tomcat整合到一起?

假如你遇到這種情況,你開發了一個javaweb項目要部署到服務器上,但是這個服務器上已經部署了asp、asp.net或者PHP項目都在IIS環境下運行着,這時你的tomcat就不能再用80這個端口了,這時你就必須考慮整合iis與tomcat一起工作。網上收集了很多關於tomcat與iis整合的文章,多數寫的含糊不清,疏忽每一個細節都很難整合成功,經過分析實踐,我決定花費一點時間把這個總結分享出來,希望對用的到的朋友能有所幫助。

(二)   下面介紹我整合成功的軟件環境:

ü  服務平台 window server 2003

ü  IIS6.0(大多服務器上默認都已經安裝過了)

ü  apache-tomcat-7.0.29.exe(建議到官網下載,我這里是安裝版的)

ü  jdk-7u1-windows-7.0.exe(建議到官網下載)

ü  isapi_redirect-1.2.14.exe(我這里采用的是安裝版的,非安裝版的需要手都編寫配置文件和手動配置注冊表,其原理都是一樣,為了避免出錯、方便建議采用安裝版的)

下載地址:http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.14/isapi_redirect-1.2.14.exe

(三)   軟件安裝是安裝順序是非常有必要的,下面是軟件安裝的先后順序:

IIS6.0  =>  JDK  =>  Tomcat  => isapi_redirect,你可以按照這個順序也可以不按照,但是順序的前提是:IIS一定要優先於isapi_redirect 否則isapi_redirect安裝會找不到IIS導致配置不正確,JDK一定要優先於Tomcat 否則安裝Tomcat會找不到JRE導致無法安裝。另外JDK也最好優先於isapi_redirect。

JDK環境變量的設置:

使用鼠標右擊“我的電腦”->屬性->高級->環境變量 

系統變量->新建->變量名:JAVA_HOME 變量值:C:\Program Files\Java\jdk1.7.0_01 

系統變量->新建->變量名:CLASSPATH 變量值:.;%JAVA_HOME%\lib 

系統變量->編輯->變量名:Path 在變量值的最前面加上:%JAVA_HOME%\bin; 

CLASSPATH中有一英文句號“.”后跟一個分號,表示當前路徑的意思

Tomcat環境變量的設置:

使用鼠標右擊“我的電腦”->屬性->高級->環境變量 

系統變量->新建->變量名:tomcat_home 變量值:D:\Program Files\Apache Software Foundation\Tomcat 7.0 

(四)   驗證軟件安裝是否正確:

ü  驗證isapi_redirect是否安裝正確:isapi_redirect的安裝目錄可以自己定義,網上說必須要安裝在tomcat跟目錄,這個沒必要。

安裝完畢isapi_redirect后你會發現IIS默認網站下會出現一個虛擬目錄jakarta

 

IIS6.0+Tomcat7.0整合總結

 

右擊虛擬目錄jakarta 查看屬性

 

IIS6.0+Tomcat7.0整合總結


 

是否存在jakarta的篩選器。至於向上的綠色箭頭可能沒有(網上很多都指出要求由此,實際上只有配置之后首次訪問的時候,才進行加載)只要不是紅色就可以。 到次為之說明您的isapi_redirect安裝正確。

ü  驗證JDK是否環境變量配置是否正確,開始=》運行=》輸入cmd =》輸入java命令或者javac或者java –version是否出現相應命令的結果,如果有則說明JDK配置正確

ü  驗證tomcat是否安裝正確:瀏覽器中輸入http://localhost:8080 是否出現

 

IIS6.0+Tomcat7.0整合總結


 

如果出現這個頁面則說明tomcat安裝正確;

 

注意:檢查tomcat安裝目錄下的lib目錄是否包含tools.jar文件,如果沒有到JDK中復制一個到tomcat的lib目錄下,tools.jar這個文件至關重要,否則isapi_redirect就不能正常的工作。

ü  驗證iis是否工作正常 瀏覽器中輸入 http://localhost 是否出現

 IIS6.0+Tomcat7.0整合總結


如果出現則說明iis工作正常

以上驗證都沒有出現問題的話,那么我們的准備工作就完成了。下面我們就進行相應的配置工作。

(五)   Tomcat的配置:

tomcat的配置主要是配置虛目錄,打開tomcat的server.xml文件,加入

<Host name="www.yimen-china.com" appBase="D:\soyaweb\www.yimen-china.com" uppackWARs="true"

            xmlValidation="false" xmlNamespaceAware="false">

        <Context path="" docBase="ecshoping" debug="0" reloadable="true"/>

</Host>

name:對應的是你項目的域名;

appBase:虛擬目錄的路徑;

doBase:項目的頂級目錄就相當於webapps 中的目錄名稱;

配置完成后記得把你的項目復制到D:\soyaweb\www.yimen-china.com目錄下,我的項目是ecshoping

注意:tomcat的端口為默認端口8080不要修改

為了驗證你的虛擬目錄配置是否正確,打開瀏覽器輸入:www.yimen-china.com:8080 看看是否可以訪問你的項目,如果可以則說明你的項目在tomcat中的部署是正確的。

注意:如果防火牆開啟了,注意在防火牆的例外里添加端口:8080 保證該端口對外開放。另外要保證你的域名解析正確

 

(六)   IIS配置:

ü  新建網站,名稱隨意

【網站IP地址】:(全部未分配)

【此網站的主機頭】:域名(同tomcat\conf\server.xml <Host>標簽的"name"屬性中的域名相同)

【網站主目錄路徑】:虛擬路徑+文件夾名(tomcat\conf\server.xml<Host>標簽的"appBase"屬性中的虛擬路徑 加上<Context>子標簽的"docBase"屬性的文件夾名) 勾選【允許匿名訪問網站】

【允許下列權限】:讀取、運行腳本、執行

ü  在此網站下建立虛擬目錄 名稱:jakarta(必須)

【路徑】: isapi_redirect 安裝目錄\bin (isapi_redirect.dll的目錄)

【允許下列權限】:讀取、運行腳本、執行

ü  網站-->右鍵-->屬性:

1)        【ISAPI篩選器】-->添加--> 【篩選器名稱】:jakarta 【可執行文件】: isapi_redirect安裝目錄\bin\isapi_redirect.dll (isapi_redirect.dll文件)

2)        【文檔】:-->添加-->【默認內容頁】:比如index.jsp(對應網站默認首頁) -->確定-->把其余的都刪掉

ü  Web服務擴展-->右鍵-->添加一個新的Web服務擴展:【擴展名】:jakarta(必須)

【要求的文件】: isapi_redirect安裝目錄\bin\isapi_redirect.dll (isapi_redirect.dll文件)

勾選【設置擴展狀態為允許】保存

(七)   isapi_redirect的配置

打開isapi_redirect目錄下conf目錄,修改uriworkermap.properties文件,該文件的具體內容如下:

# uriworkermap.properties - IIS 

# This file provides sample mappings for example wlb 

# worker defined in workermap.properties.minimal 

# The general syntax for this file is: 

# [URL]=[Worker name] 

 

/admin/*=wlb 

/manager/*=wlb 

/jsp-examples/*=wlb 

/servlets-examples/*=wlb 

/ecshoping/*=wlb

 

# Optionally filter out all .jpeg files inside that context 

# For no mapping the url has to start with exclamation (!) 

 

!/servlets-examples/*.jpeg=wlb 

 

# Mount jkstatus to /jkmanager 

# For production servers you will need to 

# secure the access to the /jkmanager url 

/jkmanager=jkstatus 

/*.jsp=wlb 

/*.action=wlb

/*.do=wlb

/*=wlb 

 

解釋:wlb可理解為過濾器名稱

/*.jsp等等 為請求過濾的規則,isapi_redirect判斷當iis收到該請求時交給tomcat處理。/ecshoping/*=wlb  指定你要過濾的項目

打開isapi_redirect目錄下conf目錄,修改workers.properties.minimal文件,該文件的內入如下:

# workers.properties.minimal - 

# This file provides minimal jk configuration properties needed to 

# connect to Tomcat. 

# The workers that jk should create and work with 

 

worker.list=wlb,jkstatus 

 

# Defining a worker named ajp13w and of type ajp13 

# Note that the name and the type do not have to match. 

worker.ajp13w.type=ajp13 

worker.ajp13w.host=localhost 

worker.ajp13w.port=8009 

 

# Defining a load balancer 

#  

 

worker.wlb.type=lb 

worker.wlb.balance_workers=ajp13w 

 

# Define status worker 

 

worker.jkstatus.type=status 

 

該文件為默認的配置,一般不需要修改,保證跟以上一致就行 

到此為止你可以倒杯咖啡來享受一下整合成功的喜悅了。此時你輸入你的域名就可以直接訪問你的javaweb項目了,而不用再加8080端口了。當iis接受到一個jsp網站isapi_redirect會轉發到tomcat處理,然后將處理結果再返回給客戶。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM