一、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