• 项目启动端口被占用 -- 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.
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

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

    proxy: {
        host: '127.0.0.1',
        port: 8083, 
    },
    
    • 1
    • 2
    • 3
    • 4

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

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

    netstat -ano | findstr xxxx
    
    tasklist | findstr xxxx
    
    taskkill -PID xxxx -F
    
    • 1
    • 2
    • 3
    • 4
    • 5

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

    netstat -ano | findstr 8082
    
    • 1

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

      TCP    0.0.0.0:8082           0.0.0.0:0              LISTENING       3680
    
    • 1

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

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

    tasklist | findstr 3680
    
    • 1

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

    TIM.exe                       3680 Console                    1    205,608 K
    
    • 1

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

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

    taskkill -PID 3680 -F
    
    • 1

     结束成功得到以下信息:

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

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


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

    -- over.

  • 相关阅读:
    python从入门到实践:数据类型、文件处理
    软考高级之系统分析师及系统架构设计师备考过程记录
    计算机网络-网络安全(一)
    【Linux通信】Linux中IPC(跨进程通信)、RPC(远程过程调用)、LPC(本地过程调用)的区别
    CPU缓存一致性
    在kubernetes里使用AppArmor限制容器对资源的访问
    六款Linux常用远程连接工具介绍,看看哪一款最适合你
    Trinitycore学习之在vscode查看远端服务器上源码配置
    颜色分类(数组 双指针)
    【Java笔试强训】Day3(OR59 字符串中找出连续最长的数字串、JZ39 数组中出现次数超过一半的数字)
  • 原文地址:https://blog.csdn.net/EX_fish/article/details/127606504