Windows端口异常占用的处理

阿豪运维笔记(阿豪同学) 2020-03-10 1.28 K阅读

温馨提示:这篇文章已超过993天没有更新,请注意相关的内容是否还可用!

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

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

解决办法

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

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

<2> tasklist /svc| find "4" 看到是系统进程。 注:请根据实际情况修改进程ID

image.png

<3> 尝试关闭了IIS ,iisreset /stop

image.png

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

image.png

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

image.png

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

image.png

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

image.png

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作有参考学习价值
喜欢请点击上方【分享】,如果对您有帮助可点击上方【打赏】打赏本站。谢谢大家对阿豪运维笔记的支持。

文章作者: 阿豪运维笔记(阿豪同学)
本文链接:
文章版权:站长码字很辛苦,除非注明,否则均为阿豪运维笔记原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码