接着上一篇文章,我在调试node.js的时候,由于是初学者操作比较骚~
我是在宝塔上的PM2管理器上结束了一个node.js项目,当我再次启动的时候却启动不来。
这...算不算是没有正确关闭node.js项目导致端口占用了,得这下只能ssh连接服务器解决了~
查找进程
pid lsof -i:88
我用的是88端口,同学们可以自行根据自己设置的端口来查看进程。
结束进程
sudo kill -9 3846
输入以上的命令,结束88端口的进程,等我再次查看88端口,还能查看到进程,那我们只能下一步操作了。
停止项目
pm2 start app.js vue_ecommerce_server
仔细想了想,前面也说过了我的操作比较骚,我发现之前运行项目,也有使用过命令运行。
这下知道原因了还不简单嘛,直接输入pm2 list命令来查看pm2下所管理的项目,发现有一个id为0的项目,就是这个东西~
输入pm2 stop 0即可停止id为0的项目(也可以使用pm2 delete 0删除掉它)
问题总结
再次输入pid lsof -i:88查看88端口有没有进程在运行,一片空白,pm2下的项目没有正确关闭,才会导致的88端口被占用。
让我们来通过node app.js再次运行node项目,不会提示端口被占用了,问题完美解决~
pm2主要命令
- 在服务器中安装pm2: npmi pm2 -g
- 启动项目: pm2 start 脚本 自定义名称/id
- 查看运行项目: pm2 list
- 重启项目: pm2 restart 自定义名称/id
- 停止项目: pm2 stop 自定义名称/id
- 删除项目: pm2 delete 自定义名称/id
Comments | NOTHING