我今天来单位发现ElasticSearch-Head挂了,基本上每天早上来上班都是挂掉的,我tm就怀疑这不是一个偶然现象,排查了一番发现是node进程在断开SSH之后就会停止运行了,网上的方法都试过了,有用nohup的,有用forever的,有直接写npm start &的,然而都并没有什么卵用,怀疑都是没经过大脑直接抄袭别人的文章。
有效的解决方案是在Linux中安装pm2来管理node进程,那到底pm2是干嘛的?网上找了一下介绍:pm2 是一个带有负载均衡功能的Node应用的进程管理器。可以把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载。大致意思就是和linux守护进程一样能一直运行node程序,下面我们来安装一下
npm install -g pm2
ln -s /data/node-v12.4.0-linux-x64/bin/pm2 /usr/bin/pm2
可以通过pm2 -v 验证,用法就是下面这几种
pm2 start npm -- run start
pm2 list
pm2 stop
pm2 restart
pm2 delete
通过pm2来运行你的npm命令就可以保证node程序不会因为SSH断开挂掉了。
————————————————
原文链接:https://blog.csdn.net/qq_19734597/java/article/details/94556956