NodeJS服务器如何运行

צבי*_*ברי 9 centos node.js

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

我有1.50.谢谢!

siy*_*ang 12

我用pm2来做

安装pm2

sudo npm install -g pm2
Run Code Online (Sandbox Code Playgroud)

生成启动脚本

pm2 startup ubuntu(centos in your case)
Run Code Online (Sandbox Code Playgroud)

然后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
Run Code Online (Sandbox Code Playgroud)

然后你就可以跑了

sudo env PATH=$PATH:/usr/bin pm2 startup ubuntu -u USERNAME
Run Code Online (Sandbox Code Playgroud)

然后你可以看到

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.
Run Code Online (Sandbox Code Playgroud)

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

 pm2 save
Run Code Online (Sandbox Code Playgroud)

您可以参考https://github.com/Unitech/pm2#startup-script中的"启动脚本"部分


ame*_*iel 0

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

sudo npm install -g forever
forever start app.js &
Run Code Online (Sandbox Code Playgroud)

请注意,以 & 结尾会将进程分叉到后台。

您可以稍后检查该过程

forever list
Run Code Online (Sandbox Code Playgroud)

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

@reboot forever start app.js  &> /dev/null
Run Code Online (Sandbox Code Playgroud)

记得指向app.js的绝对位置