Node JS服务器如何永远运行

时间:2014-08-18 23:32:10

标签: node.js centos

我用Putty。 当我使用"节点X.js"启动服务器时,putty启动服务器正在运行。 如果我从putty退出服务器停止。 如何在重启或重启服务器(计算机)后保持运行并使其默认运行?

我有中心5.10。 谢谢!

2 个答案:

答案 0 :(得分:12)

我使用pm2来做它

安装pm2

sudo npm install -g pm2

生成启动脚本

pm2 startup ubuntu(centos in your case)

然后pm2将提示您运行命令,在我的情况下,它就像

PM2 You have to run this command as root
PM2 Execute the following command :
PM2 sudo env PATH=$PATH:/usr/bin pm2 startup ubuntu -u USERNAME

然后你可以运行

sudo env PATH=$PATH:/usr/bin pm2 startup ubuntu -u USERNAME

然后你可以看到

PM2 Generating system init script in /etc/init.d/pm2-init.sh
PM2 Making script booting at startup...
PM2 -ubuntu- Using the command su -c "chmod +x /etc/init.d/pm2-init.sh && update-rc.d pm2-init.sh defaults"
Adding system startup for /etc/init.d/pm2-init.sh ...
   /etc/rc0.d/K20pm2-init.sh -> ../init.d/pm2-init.sh
   /etc/rc1.d/K20pm2-init.sh -> ../init.d/pm2-init.sh
   /etc/rc6.d/K20pm2-init.sh -> ../init.d/pm2-init.sh
   /etc/rc2.d/S20pm2-init.sh -> ../init.d/pm2-init.sh
   /etc/rc3.d/S20pm2-init.sh -> ../init.d/pm2-init.sh
   /etc/rc4.d/S20pm2-init.sh -> ../init.d/pm2-init.sh
   /etc/rc5.d/S20pm2-init.sh -> ../init.d/pm2-init.sh

PM2 Done.

启动应用程序并希望将它们保留在服务器重新启动后,请执行以下操作:

 pm2 save

您可以参考https://github.com/Unitech/pm2#startup-script

中的“启动脚本”部分

答案 1 :(得分:0)

有几种方法,我个人都喜欢永远。

sudo npm install -g forever
forever start app.js &

请注意以&结尾将过程分解为背景。

您可以稍后使用

检查流程
forever list

要在系统重新启动时运行它,您可以添加到cron

@reboot forever start app.js  &> /dev/null

请记住指向app.js的绝对位置