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>换成实际数字就行。如果还是不行的备选方案
- 换端口运行:修改
/root/wa_server/app.js第209行的listen参数,比如改成8001:server.listen(8001, () => { // 你的启动逻辑 }); - 清理端口缓存(生产环境谨慎操作):重启网络服务,比如systemd系统执行:
sudo systemctl restart networking
- 换端口运行:修改
内容的提问来源于stack exchange,提问作者Muhammad Irfan Ghori
相关产品推荐
相关产品推荐

