目的:
- IIS HTTP 侦听端口改为 8088
- Tomcat HTTP 侦听端口改为 80
环境:
- Windows Server 2012 R2
- IIS8.5 (默认端口是 80)
- Tomcat8.0 (默认端口是 8080)
- SQL Server 2014
预想:
- 关掉IIS服务,修改HTTP协议的侦听端口,重启IIS
- 修改Tomocat HTTP协议的侦听端口,重启Tomcat
BUT that's too easy...
按上面预想的步骤简单操作后,直接 http://localhost 却无法显示Tomcat的管理页面,应该是Tomcat服务启动失败,造成失败的原因应该就是换了端口的缘故,看启动日志大概是因为 80 端口已被占用。
所以要做的就是:
- 查看 80 端口使用情况
- 找到使用 80 端口的服务或应用
- 禁用这些服务或应用
- 重启Tomcat
一下是我在虚拟机上的操作过程,简单流水一下:
至此,IIS 端口修改完毕。
至此,Tomcat 端口修改完毕。
测试:
Tomcat 启动失败。 根据启动日志,80 端口已被占用,所以 netstat –aon|findstr “80”查看端口使用情况,发现一个进程号(PID)是 4 的进程占用着 80 端口:
tasklist |findstr “4”确认是哪个进程,原来是 System(NT Kernel & System),百度了一下,说是跟 Http.Sys 可能有关,想想也是,根据IIS运行原理来说,用来监听http请求的http.sys确实是运行在内核模式中的
netsh http show servicestat 查看当前还在使用http的服务的状态,也许是它们造成 80 依旧被占用:
找到这些依旧在使用 IIS ?的服务,将其关闭:(PS: 不知道 SQL 的 ReportingService 在这怎么就成了凶手了,知道的博友请告知!)
再次查看 80 端口的使用情况,发现貌似已经没有其他进程占用 80 端口了:
再次进行测试:
至此,Tomcat启动成功,端口修改成功