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