帮助与文档

全部文档
帮助与文档 > 云服务器 > 服务器运维 > Windows > 安全类 > Windows端口异常占用的处...

Windows端口异常占用的处理

问题现象

服务器应用使用的端口被异常占用导致服务启动失败,例如:Windows上安装的Tomcat无法启动,TCP 80端口已经被其它应用占用。

问题原因

应用程序需要使用的TCP/UDP端口被其它程序、或者病毒木马占用。

排查方法

使用netstat -ano命令可以找出占用端口的进程ID,而后使用tasklist /svc命令找出对应的进程。

如下给出一例安装Tomcat后,启动Tomcat提示端口被占用的处理过程。

  1. 使用netstat -ano |find “:80” 看到占用端口的进程ID是4,注:请根据实际情况修改端口。

    1.png

  2. 使用tasklist /svc| find “4” 看到是系统进程。 注:请根据实际情况修改进程ID。

    2.png

  3. 尝试关闭了IIS ,iisreset /stop 。

    3.png

  4. 但是发现80端口仍然被占用。于是使用curl -I 127.0.0.1 查看返回的server是 Microsoft-HTTPAPI/2.0 而不是Server: Microsoft-IIS/7.5 。

    4.png

  • 能够使用Microsoft-HTTPAPI/2.0的只能是微软的产品。检查是否有安装SQL SERVER ,如果有尝试关闭SQL Server Reporting Service这个服务。

    5.png

  • 关闭后再使用curl -I 127.0.0.1 就提示80端口无法连接,说明端口已经被释放。

    6.png

  • 注意:如果没有安装curl还可以使用telnet 127.0.0.1 80 执行完,ctrl+c终止就会出现下面图片的样子,也可以看到server:Microsoft-HTTPAPI/2.0 ,当然仅靠这个是不能判断是哪个程序的。只能根据此判断是微软的应用占用了。

  • 具体还需要看服务器上实际安装了哪些微软的应用。

    7.png

如果在操作过程有任何疑问,欢迎在后台提交工单

这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好!更多建议 非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题:

更多建议