最近我利用.NET開發一套WEB程序,使用8003端口,當我部署到客戶時,他們運行的是
Tomcat,使用80端口。而我也需要80端口,因為網通不能進行帶端口的解析。
這個問題以前都沒遇到過,后來到網上到處找資料,現在把它總結出來:
如果服務器上已經安裝了Apache(使用Apache + Tomcat)的話,那么IIS與Apache是沒有辦法使用同一個80端口的,因為無論是IIS或者Apache它們都要獨占一個端口,所以通常的做法是使用Tomcat的ISAPI來實現IIS與Tomcat之間通信。具體步驟如下(*系統配置為Windows2003 Server + IIS6 + Tomcat5.0.14):
首先去 http://apache.linuxforum.net/dist/jakarta/tomcat-connectors/jk2/binaries/win32/jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip 下載JK2,由JK2負責IIS和Tomcat的通訊,解開后得到isapi_redirector2.dll。
接下來在Tomcat安裝目錄下的conf目錄下建一個workers2.properties文件,把下面這段配置信息拷貝進去后保存。注意file=".."之中的路徑要用"/"。
[shm]
file=c:/Tomcat/logs/jk2.log
size=1048576
?
# 實際運用時把所有的localhost和8009換成你自己的IP和端口
[channel.socket:localhost:8009]
port=8009
host=localhost
?
# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
?
# Uri mapping
[uri:/*.jsp]
[uri:/web/*]
worker=ajp13:localhost:8009
?
# define the worker
[status:status]
?
# Uri mapping
[uri:/jkstatus/*]
worker=status:status
?
之后編輯jk2.properties文件,確認其中是否有此一句:
request.tomcatAuthentication=false
?
接下修改注冊表,可新建一個iis.reg文件,把下面一段拷進去保存然后雙擊iis.reg把信息導入注冊表。(注意,把涉及的Tomcat路徑改成你的Tomcat的路徑)
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi
Redirector\2.0]
"serverRoot"="c:\\Tomcat"
"extensionUri"="/jakarta/isapi_redirector2.dll"
"workersFile"="c:\\Tomcat\\conf\\workers2.properties"
"logLevel"="INFO"
?
然后打開“我的電腦->控制面板->管理工具->Internet信息服務管理器”,在里面選擇“網站”中的默認網站(默認網站我假定指向C:\web),在其上點右鍵選“屬性”,在彈出的頁框里選擇“ISAPI篩選器”,點“添加”,篩選器名稱填jakarta,可執行文件中填入你的isapi_redirector2.dll的絕對路徑。“確定”后點“確定”關閉屬性頁。再在“默認網站”上右鍵,選擇“新建”->“虛擬目錄”,別名填jakarta,下一步,路徑選為你的isapi_redirector2.dll存放的目錄,我的是C:\tomcat\iis,下一步,權限中記得把“執行”那項打勾,然后在“Internet信息服務管理器”的“網站”中的“Web服務擴展”上點右鍵選擇“添加一個新的Web服務擴展”,彈出的框中擴展名填Tomcat(其實無所謂的),“要求的文件”選“添加”然后找到你的isapi_redirector2.dll后“確定”。“設置擴展狀態為允許”也打上勾,配置就完成了。
Tomcat,使用80端口。而我也需要80端口,因為網通不能進行帶端口的解析。
這個問題以前都沒遇到過,后來到網上到處找資料,現在把它總結出來:
如果服務器上已經安裝了Apache(使用Apache + Tomcat)的話,那么IIS與Apache是沒有辦法使用同一個80端口的,因為無論是IIS或者Apache它們都要獨占一個端口,所以通常的做法是使用Tomcat的ISAPI來實現IIS與Tomcat之間通信。具體步驟如下(*系統配置為Windows2003 Server + IIS6 + Tomcat5.0.14):
首先去 http://apache.linuxforum.net/dist/jakarta/tomcat-connectors/jk2/binaries/win32/jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip 下載JK2,由JK2負責IIS和Tomcat的通訊,解開后得到isapi_redirector2.dll。
接下來在Tomcat安裝目錄下的conf目錄下建一個workers2.properties文件,把下面這段配置信息拷貝進去后保存。注意file=".."之中的路徑要用"/"。
[shm]
file=c:/Tomcat/logs/jk2.log
size=1048576
?
# 實際運用時把所有的localhost和8009換成你自己的IP和端口
[channel.socket:localhost:8009]
port=8009
host=localhost
?
# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
?
# Uri mapping
[uri:/*.jsp]
[uri:/web/*]
worker=ajp13:localhost:8009
?
# define the worker
[status:status]
?
# Uri mapping
[uri:/jkstatus/*]
worker=status:status
?
之后編輯jk2.properties文件,確認其中是否有此一句:
request.tomcatAuthentication=false
?
接下修改注冊表,可新建一個iis.reg文件,把下面一段拷進去保存然后雙擊iis.reg把信息導入注冊表。(注意,把涉及的Tomcat路徑改成你的Tomcat的路徑)
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi
Redirector\2.0]
"serverRoot"="c:\\Tomcat"
"extensionUri"="/jakarta/isapi_redirector2.dll"
"workersFile"="c:\\Tomcat\\conf\\workers2.properties"
"logLevel"="INFO"
?
然后打開“我的電腦->控制面板->管理工具->Internet信息服務管理器”,在里面選擇“網站”中的默認網站(默認網站我假定指向C:\web),在其上點右鍵選“屬性”,在彈出的頁框里選擇“ISAPI篩選器”,點“添加”,篩選器名稱填jakarta,可執行文件中填入你的isapi_redirector2.dll的絕對路徑。“確定”后點“確定”關閉屬性頁。再在“默認網站”上右鍵,選擇“新建”->“虛擬目錄”,別名填jakarta,下一步,路徑選為你的isapi_redirector2.dll存放的目錄,我的是C:\tomcat\iis,下一步,權限中記得把“執行”那項打勾,然后在“Internet信息服務管理器”的“網站”中的“Web服務擴展”上點右鍵選擇“添加一個新的Web服務擴展”,彈出的框中擴展名填Tomcat(其實無所謂的),“要求的文件”選“添加”然后找到你的isapi_redirector2.dll后“確定”。“設置擴展狀態為允許”也打上勾,配置就完成了。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
