Node.js NodeJS服务器如何永远运行

Node.js NodeJS服务器如何永远运行,node.js,centos,Node.js,Centos,我用油灰。 当我用“node X.js”启动服务器时,putty启动服务器运行。 如果我退出putty,服务器将停止。 如何在重新启动或重新启动服务器(计算机)后保持其运行并使其默认运行 我有centos 5.10。 谢谢大家! 有几种方式,我个人喜欢永远 sudo npm install -g forever forever start app.js & 请注意,以&结尾将把进程转移到后台 您可以稍后使用检查流程 forever list 要在系统重新启动时运行它,可以添加到cro

我用油灰。 当我用“node X.js”启动服务器时,putty启动服务器运行。 如果我退出putty,服务器将停止。 如何在重新启动或重新启动服务器(计算机)后保持其运行并使其默认运行

我有centos 5.10。
谢谢大家!

有几种方式,我个人喜欢永远

sudo npm install -g forever
forever start app.js &
请注意,以&结尾将把进程转移到后台

您可以稍后使用检查流程

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

@reboot forever start app.js  &> /dev/null
请记住指向app.js的绝对位置。我使用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

您可以参考

中的启动脚本部分,如果我的计算机重新启动,forever将自动启动NodeJS服务器吗?谢谢对“永远”将创建两个过程。一个负责运行“node app.js”,另一个负责监控第一个并在需要时重新启动,但这并不能回答重新启动的问题。因为在这种情况下,两个进程都是死的。Forever将在每次重新启动后自行运行。这就是cron中的@reboot条目所做的。应用程序列表是自动更新的还是需要
pm2 save
调用?pm2 save将让pm2保存进程。当系统重新启动时,它将重新启动这些。我的意思是,当我启动一个新流程时,列表是否自动保存?是的,它在第一次pm2保存运行后自动保存