输入
node app.js
命令运行项目,提示88端口被占用。
走坑历程->出坑
采用根据端口查看进程的方式,pid
lsof -i: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
删除掉它)
然后再次输入pidlsof -i:88
查看88端口所在的进程,结果为空,因此可以得知确实是pm2下管理的项目没有关闭,才导致的88端口被占用的问题
通过node app.js
再次运行node项目,不会提示端口被占用了,问题解决
问题总结
如果之前通过pm2管理node项目,本次又想通过node app.js
的方式来管理node项目的话,得先把之前的pm2管理node项目关闭掉,否则就会提示端口被占用,而且通过sudo kill -9 pid
的方式也无法关闭端口
pm2主要命令
使用pm2管理应用主要命令
①在服务器中安装pm2: npmi pm2 -g
②启动项目: pm2 start 脚本 自定义名称/id
③查看运行项目: pm2 list
④重启项目: pm2 restart 自定义名称/id
⑤停止项目: pm2 stop 自定义名称/id
⑥删除项目: pm2 delete 自定义名称/id