实现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

相关文章
相关标签/搜索