端口占用问题解决


我们在启动网站时,经常会遇到端口占用的问题。例如我在使用443端口启动我的springboot搭建的网站时就遇到如下报错:

Description:

The Tomcat connector configured to listen on port 443 failed to start. The port may already be in use or the connector may be misconfigured.

接下来介绍一下我的解决方法:

1、找到占用对应端口的进程号(PID)

打开cmd窗口,使用netstat命令来查看网络连接状态。如下所示,执行:

netstat -a | findstr 443

可以看到:

TCP    0.0.0.0:443            account:0              LISTENING       2660

其中各个字段的含义如下所示:

协议本地地址:端口外部地址状态PID
TCP0.0.0.0:443account:0LISTENING2660

2、根据进程号(PID)找到对应占用端口的进程

在cmd窗口中继续执行tasklist命令,查看当前执行的进程和对应的端口号:

tasklist | findstr 2660

可以看到:

VisualSVNServer.exe           2660 Services                   0         20 K

其中各个字段的含义如下所示:

映像(程序)名称PID会话名会话#内存使用
VisualSVNServer.exe2660Services020 K

3、关闭占用端口的进程,重启网站服务

从第2步中可以看出来,VisualSVNServer程序占用了我的443端口,导致我的网站无法运行。这个是我进行SVN版本控制的程序,此时需要把他关闭掉。我们可以使用taskkill命令来完成,也可以使用Ctrl+Shift+Esc打开任务管理器选中直接关闭。我这里使用taskkill进行演示。执行如下命令:

taskkill /PID 2660

此时端口占用已经解决,直接重启自己的服务器就可以了。

4、附录

netstat命令很常用,我们可以借此机会了解一下他的其他参数,以及对应的功能

F:\Coder\SpringStudy>netstat /?

显示协议统计信息和当前 TCP/IP 网络连接。

NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-x] [-t] [interval]

  -a            显示所有连接和侦听端口。
  -b            显示在创建每个连接或侦听端口时涉及的
                可执行程序。在某些情况下,已知可执行程序承载
                多个独立的组件,这些情况下,
                显示创建连接或侦听端口时
                涉及的组件序列。在此情况下,可执行程序的
                名称位于底部 [] 中,它调用的组件位于顶部,
                直至达到 TCP/IP。注意,此选项
                可能很耗时,并且在你没有足够
                权限时可能失败。
  -e            显示以太网统计信息。此选项可以与 -s 选项
                结合使用。
  -f            显示外部地址的完全限定
                域名(FQDN)。
  -n            以数字形式显示地址和端口号。
  -o            显示拥有的与每个连接关联的进程 ID。
  -p proto      显示 proto 指定的协议的连接;proto
                可以是下列任何一个: TCP、UDP、TCPv6 或 UDPv6。如果与 -s
                选项一起用来显示每个协议的统计信息,proto 可以是下列任何一个:
                IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。
  -q            显示所有连接、侦听端口和绑定的
                非侦听 TCP 端口。绑定的非侦听端口
                 不一定与活动连接相关联。
  -r            显示路由表。
  -s            显示每个协议的统计信息。默认情况下,
                显示 IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息;
                -p 选项可用于指定默认的子网。
  -t            显示当前连接卸载状态。
  -x            显示 NetworkDirect 连接、侦听器和共享
                终结点。
  -y            显示所有连接的 TCP 连接模板。
                无法与其他选项结合使用。
  interval      重新显示选定的统计信息,各个显示间暂停的
                间隔秒数。按 CTRL+C 停止重新显示
                统计信息。如果省略,则 netstat 将打印当前的
                配置信息一次。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值