启动tomcat时端口8080显示被占用

我们在启动tomcat时可能会遇到一个这样的错误:

Error running 'Tomcat 9.0.38':Address localhost:8080 is already in use

默认端口号8080显示被占用
下面给出两种解决方案:

一.结束端口8080的进程

按下窗口键+R,输入cmd打开命令行窗口
在这里插入图片描述
输入”netstat -ano"指令(注意不包含引号),查看所有的活动连接,找到端口8080对应的pid,可以看到PID为6948(读者的可能不一样)
在这里插入图片描述
不过这样查找PID有点麻烦,所以我们可以输入另外一个指令来查看
“netstat -ano|findstr 8080"
在这里插入图片描述
可以直接看到端口8080对应的PID为7544(由于笔者中间结束了”ApplicationWebServer.exe“进程,后面又重新开启,可以看到两次的PID并不相同,所以请读者以当前端口对应的这个PID为准)

然后输入指令“taskkill/pid 7544" 结束这个进程。但这样可能会出现一个错误:

错误: 无法终止 PID 为 7544 的进程。
原因: 拒绝访问。

在这里插入图片描述

出现这种问题,读者也不必担心,我们可以在任务管理器中来结束这个进程。

打开任务管理器–>详细信息
找到PID为端口8080对应的那个PID(7544)的进程”ApplicationWebServer.exe“(熟悉了的读者下次就可以直接在任务管理器中结束”ApplicationWebServer.exe"进程,写这么多主要是为了告诉读者如何查看活动连接及为什么是结束“ApplicationWebServer.exe"这个进程来解决端口8080被占用)
单击右键–>结束任务。
在这里插入图片描述

再次启动tomcat,问题得到解决。
在这里插入图片描述
读者如果想开启"ApplicationWebServer.exe"进程,点击”服务“选项卡,找到”NIApplicationWebServer",然后单击右键–>开启.这样,“ApplicationWebServer.exe"进程就再次运行了。
在这里插入图片描述

当然这样有一个不好的地方,因为进程"ApplicationWebServer.exe"有时候需要用到,结束后每次还要开启就显得比较麻烦,所以我们还可以尝试方案2。

二.修改默认端口

打开tomcat安装文件夹下的conf文件夹中的”server.xml“文件,以记事本的形式打开
(apache-tomcat-9.0.38–>conf–>server.xml)
找到下图的这部分:
在这里插入图片描述

将8080改为一个没有被占用的端口(读者可以在刚才输入”netstat -ano“后显示的活动连接中来查看哪些端口被占用),笔者这里选择9999(一般来说这个端口都不会被占用),保存。
在这里插入图片描述

再次启动tomcat,问题已解决。
在这里插入图片描述

笔者建了一个学习群(QQ:893307693),里面隔一段时间会提供一些学习资料,也可以和群里的朋友一起交流技术方面的问题,感兴趣的读者可以加群。

### 解决若依项目启动Tomcat 8080端口占用的问题 当遇到Tomcat 8080端口占用的情况,可以通过多种方式解决问题。以下是几种常见且有效的处理办法: #### 修改Tomcat配置文件中的监听端口 一种常见的做法是通过修改`server.xml`文件来改变Tomcat使用的默认端口号。具体操作为找到Tomcat安装路径下的`conf/server.xml`文件,并定位到包含`<Connector>`标签的部分,将原有的port属性值由8080更改为其他未被占用端口,比如8081或更高编号的端口[^1]。 ```xml <!-- 原始设置 --> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <!-- 更改后的设置 --> <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> ``` 完成上述更改之后保存文件并重新启动Tomcat服务器即可生效[^2]。 #### 查找并终止占用端口的服务进程 如果希望继续使用8080作为Tomcat的工作端口,则需要先找出哪个应用程序正在使用这个端口,并考虑停止它或者调整其配置使其不再占用端口。对于Windows操作系统来说,可以利用命令提示符执行netstat命令配合findstr查找特定端口对应的PID(进程ID),再依据得到的结果前往任务管理器结束相应程序;而对于Linux系统而言,可以直接运用lsof指令加上-i参数快速获取信息[^4]。 - **Windows环境下** 使用cmd窗口输入以下命令组合查询: ```shell netstat -ano | findstr :8080 ``` 记录下返回结果里的最后一列数字即为目标进程ID(PID),随后打开任务管理器,在“详细信息”选项卡里寻找对应PID所属条目右键点击选择“结束任务”。 - **Linux环境下** 可以直接运行下面这条命令一次性完成检测与关闭动作: ```bash sudo lsof -9 ``` 以上两种方法均能有效应对因端口冲突而导致无法正常启动Tomcat的问题。当然也存在一些特殊情况,例如某些后台守护进程可能会自动重启从而再次抢占所需端口,这可能还需要进一步排查原因或是采取更为严格的权限控制措施防止此类情况发生[^5]。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值