PM2启动node服务一直报端口被占用,换了好几次端口也没用?
最近在测试服务器上出现的问题,之前一直没有(用的vue+node转发)。
**
1.发现问题
**
测试姐姐要测试时能打开登录界面,但是输入账号密码点击登录没反应。我一看输出,发现服务器报错了。
**
2.查找问题
**
于是我用 pm2 list 查看了下进程
我又查看了下日志
**输出日志:**
**错误日志**
发现是端口占用,虽然很疑惑为什么突然会出现这种问题,
但是当务之急还是先解决问题。于是我连着换了好几次端口,也用 pm2
结束或重启 服务,但每次结果都是和一开始一样。
因为这个服务器上还有node的其他子程序是其他项目在用,
也不敢随便就把node直接干掉,但是用kill -9 [pid] 又杀不死,
搜了百度,弄了很长时间,现在问题急着解决,求助于社区的各位大佬了,
感激不尽
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
首先不要乱打标签,你的问题跟 nginx 有什么关系?
我猜测你的问题是 pm2 的 fork 模式造成的,因为 fork 模式不支持 端口复用,而如果你开多进程的话就会造成这个问题。把 fork 改为 cluster 试下
此外呢,kill 命令 不能指定端口,而是进程id(pid),如
kill 1234
查看端口占用情况可以使用:
ss -lntp | grep <port>
,其中 <port> 是你要看的 端口lsof -i: 端口号看看