IIS需要與Tomcat共用80端口,現在只能通過IIS來轉發請求給Tomcat實現,即所謂的整合:
一、下載The Apache Tomcat Connector,下載地址是:http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/,文件名中含有i386-iis.zip的是32位系統的連接文件,我下載的是tomcat-connectors-1.2.40-windows-x86_64-iis.zip(我的系統是Win7 64),解壓后得到:isapi_redirect.dll,拷貝到指定文件夾下(可在任何位置,為了方便管理,在tomcat目錄下新建文件夾tomcatConnector,並復制,即:X:\apache-tomcat-8.0.9\tomcatConnector)。
二、配置Connector,有兩種方式:
1、通過修改注冊表進行配置,請參考(http://tomcat.apache.org/connectors-doc/reference/iis.html)。
2、在isapi_redirect.dll所在的文件夾下建立一個與此dll文件名相同,擴展名為properties的配置文件,即:isapi_redirect.properties。ISAPI redirector DLL初始化時,默認會在自己所在的目錄尋找同名的配置文件,如果沒有再到注冊表中讀取配置信息。
#此路徑與之后建立的虛擬目錄一致即可
extension_uri=/jakarta/isapi_redirect.dll
#此路徑與之后建立的文件路徑保持一致即可 worker_file=X:/apache-tomcat-8.0.9/conf/workers.properties
#此路徑與之后建立的文件路徑保持一致即可
worker_mount_file=X:/apache-tomcat-8.0.9/conf/uriworkermap.properties
三、建立X:/apache-tomcat-8.0.9/conf/workers.properties配置文件,路徑與isapi_redirect.properties的配置保持一致。
# 值可任意,但需要與uriworkermap.properties配置保持一致 worker.list=jspWorker # 可以是ajp13、ajp14、jni、lb 或 status,但tommcat默認支持ajp13,可有server.xml文件查看:<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> worker.geloinWorker.type=ajp13
#這是tomcat的訪問域名或IP worker.geloinWorker.host=localhost
#同server.xml配置一致 worker.geloinWorker.port=80009
四、建立X:/apache-tomcat-8.0.9/conf/uriworkermap.properties文件,路徑與isapi_redirect.properties的配置保持一致。
#等號左邊是路徑規則,符合此規則的就通過Connector轉發給tomcat(可參考:http://tomcat.apache.org/connectors-doc/reference/uriworkermap.html);等號右邊與isapi_redirect.properties的worker.list保持一致。
/*=jspWorker
五、在IIS網站的建立虛擬文件夾,路徑同isapi_redirect.properties的extension_uri保持一致:
六、修改上一步節點的feature permission為所有
七、為網站添加ISAPI擴展(點擊網站名稱才會有此選項)。
八、為服務器添加ISAPI和CGI限制:
九、配置改變后,最好重啟W3SVC服務,有時重啟網站好像會有問題。
十、IIS綁定的域名需要與只關聯Tomcat Host域名一致,或者Tomcat Engine的defaultHost一致,否則無法訪問。