實現tomcat與IIS共用80端口


一、80端口被system占用的問題

目前生產環境的需要兩種方式網站發布:

[1].使用IIS發布.net開發的網站;

[2].使用tomcat發布java開發的網站;

 

啟動tomcat的時候發現無法啟動80端口被占用,請試圖排查下如下原因:

在安裝了Ms SQL server如果安裝了報表服務ReportServer,此服務默認占用了80端口,如果是,請關閉此服務,並將其啟動類型變成禁用或手動

 

二、實現tomcat與IIS公用80端口

實現tomcat與IIS公用80端口,目前解決方案是:雙IP解決方案;

基本思路是:首先禁用iis的套接字池,iis綁定一個ip,然后tomcat在綁定另一個ip,最后重啟下服務器即可。

方法和步驟如下:

第一步:禁用IIS套接字池並設置其監聽IP

套接字池會導致“Internet 信息服務”(IIS) 偵聽所有 IP 地址,

要禁用套接字池,請執行下列步驟:

打開命令提示符並確保您位於X:\Inetpub\Adminscripts 文件夾(其中X是II 安裝驅動器)中。為此,

1.請在命令提示符下鍵入以下行:

     X:CD\Inetpub\Adminscripts

2.打開Adminscripts文件夾后,請在命令提示符下鍵入以下行:

cscript adsutil.vbs set w3svc/disablesocketpooling true

3.該命令反饋如下:

disablesocketpooling :(BOOLEAN) True

4停止 IIS Admin 服務,然后再啟動它。

5重新啟動 WWW 服務。

6 接下來設置IIS要監聽的ip地址。使用工具httpcfg.exe,拷貝到 windows/system32/目錄下,用法自己看幫助 命令行: 綁定到某IP:

httpcfg set iplisten -i 192.168.0.102

即命令使用IIS的只監聽指定的IP及端口

查看綁定: httpcfg query iplisten

刪除綁定: httpcfg delete iplisten -i 192.168.0.102

 

 

第二步:tomcat的設置

IIS部分到此就設置好了,接下來設置Tomcat,當然或者你用Apache,Resin等也都可以,在Tomcat的配置文件Server.xml里 找到

<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000"   redirectPort="8443"/> <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000"   redirectPort="8443" address="192.168.0.101"/>

在后面添加上需要Tomcat監聽的ip地址即可,

例如:address="192.168.0.101"   Apache,Resin或者其他WEB服務器軟件都應該有相應的設置的,自己找一下即可。   

好了接下來重啟下服務器,然后啟動iis和tomcat服務,分別瀏覽器訪問下iis和tomcat服務看看是否正常

 

 

參考資料:

https://support.microsoft.com/zh-cn/kb/238131

 


免責聲明!

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



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