项目启动端口被占用 -- Web server failed to start. Port 8082 was already in use.

这是一条在学写项目过程中很常见的错误提示: ( 别问, 问就是全怪 TIM

2022-10-30 22:29:02.844 ERROR 2168 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   : 

***************************
APPLICATION FAILED TO START
***************************

Description:

Web server failed to start. Port 8082 was already in use.

Action:

Identify and stop the process that's listening on port 8082 or configure this application to listen on another port.

一、 首先我们先检查一下是不是自己运行了使用相同端口的项目, 然后关掉就好了嘛.
这里主要说的是由于 前端代理 占用端口的情况:

proxy: {
    host: '127.0.0.1',
    port: 8083, 
},

 这种情况也是会占用 8083 端口的, 所以 port 最好是和后端端口避开. (我直接删了, 初学项目代理这块还没用到.

二、 如果确定不是自己运行的项目占用了端口, 那么我们就该去查查是哪个该死的进程占用了我们的 “学习资源”. 我们可以在终端中使用下面三条指令来 (查询/删除) 占用端口的进程.

netstat -ano | findstr xxxx

tasklist | findstr xxxx

taskkill -PID xxxx -F

用 8082 端口为例
(1). 我们使用 netstat -ano | findstr xxxx 指令来寻找占用 8082 端口的进程的PID. ( 这里的xxxx指代的是被占用的端口号

netstat -ano | findstr 8082

 我们可以得到类似于如下的信息:

  TCP    0.0.0.0:8082           0.0.0.0:0              LISTENING       3680

 所以我们得到了这样一条信息 – – 占用 8082 端口的进程的PID为 3680

(2). 根据 tasklist | findstr xxxx 指令来使用 PID 索引运行的进程. ( 这里的xxxx指代的是刚刚我们获取的PID, 也就是进程号, 以我这边测试的 3680 例.

tasklist | findstr 3680

 同样的我们可以获取类似于如下的信息:

TIM.exe                       3680 Console                    1    205,608 K

 从这条信息可以看出来 TIM.exe 占用我们的 8082 端口.

(3). 提出杀死那个"人" 的请求 taskkill -PID xxxx -F( 这里的xxxx指代我们想要结束的PID

taskkill -PID 3680 -F

 结束成功得到以下信息:

成功: 已终止 PID 为 3680 的进程。

这样我们就成功释放了 8082 端口了.


 这里就不得不提一嘴了, 很多学习视频都是使用的 808x 端口, 而我们的 腾讯TIM 总是时不时 (关键是它有时候又不占用, 过一下又占用了) 的占用 808x 端口. 所以惹不起, 我们总跑的起, 练习项目的时候还是别开 TIM 了. 不然不会查占用进程真的会被它气疯掉.

-- over.

猜你喜欢

转载自blog.csdn.net/EX_fish/article/details/127606504