PM2启动node服务一直报端口被占用,换了好几次端口也没用?

最近在测试服务器上出现的问题,之前一直没有(用的vue+node转发)。

**

1.发现问题

**

测试姐姐要测试时能打开登录界面,但是输入账号密码点击登录没反应。我一看输出,发现服务器报错了。

**

2.查找问题

**

于是我用 pm2 list 查看了下进程

clipboard.png

我又查看了下日志
**输出日志:**

clipboard.png

**错误日志**

clipboard.png

  发现是端口占用,虽然很疑惑为什么突然会出现这种问题,
  但是当务之急还是先解决问题。于是我连着换了好几次端口,也用 pm2
  结束或重启 服务,但每次结果都是和一开始一样。
  因为这个服务器上还有node的其他子程序是其他项目在用,
  也不敢随便就把node直接干掉,但是用kill -9 [pid] 又杀不死,
  搜了百度,弄了很长时间,现在问题急着解决,求助于社区的各位大佬了,
  感激不尽
阅读 11.2k
2 个回答

首先不要乱打标签,你的问题跟 nginx 有什么关系?

我猜测你的问题是 pm2 的 fork 模式造成的,因为 fork 模式不支持 端口复用,而如果你开多进程的话就会造成这个问题。把 fork 改为 cluster 试下

此外呢,kill 命令 不能指定端口,而是进程id(pid),如 kill 1234
查看端口占用情况可以使用: ss -lntp | grep <port>,其中 <port> 是你要看的 端口

新手上路,请多包涵

lsof -i: 端口号看看

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题