You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js应用PM2部署报错:8000端口被占用(EADDRINUSE)

解决Node.js listen EADDRINUSE: address already in use :::8000报错

既然sudo killall -9 node没解决问题,说明占用8000端口的可能不是Node.js进程,或者killall没命中目标进程。试试下面的步骤:

  • 第一步:精准定位占用8000端口的进程
    用lsof命令直接查端口对应的进程:

    lsof -i :8000
    

    输出里的PID列就是进程ID。如果没装lsof,用netstat替代:

    netstat -tulpn | grep :8000
    

    注意输出里的/xxx前面的数字就是PID。

  • 第二步:强制杀死目标进程
    拿到PID后,直接用kill命令干掉:

    kill -9 <查到的PID>
    

    把<查到的PID>换成实际数字就行。

  • 如果还是不行的备选方案

    1. 换端口运行:修改/root/wa_server/app.js第209行的listen参数,比如改成8001:
      server.listen(8001, () => {
        // 你的启动逻辑
      });
      
    2. 清理端口缓存(生产环境谨慎操作):重启网络服务,比如systemd系统执行:
      sudo systemctl restart networking
      

内容的提问来源于stack exchange,提问作者Muhammad Irfan Ghori

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 15:20:29