實現tomcat與IIS共用80端口

1、80端口被system佔用的問題java

目前生產環境的須要兩種方式網站發佈:windows

[1].使用IIS發佈.net開發的網站;瀏覽器

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

 

啓動tomcat的時候發現沒法啓動80端口被佔用,請試圖排查下以下緣由:服務器

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

 

2、實現tomcat與IIS公用80端口工具

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

基本思路是:首先禁用iis的套接字池,iis綁定一個ip,而後tomcat在綁定另外一個ip,最後重啓下服務器便可。.net

方法和步驟以下:命令行

第一步:禁用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

相關文章
相關標籤/搜索