关闭命令提示符后(使用forever或forever-monitor)保持服务器活动

时间:2015-06-01 18:31:43

标签: node.js amazon-web-services forever forever-monitor

我使用Amazon WS测试一些基本的nodejs服务器。我遇到的问题是,当我在PC上关闭putty命令提示符时,我无法通过浏览器访问服务器。

我读过关于永远和永远的监视。我不确定为什么必须不断重新启动脚本,但好吧,我们必须假设它必须。

我同时使用

forever "/home/ec2-user/myApp.js"

node "/home/ec2-user/foreverMonitor.js"

(后者在foreverMonitor.js文件中有myApp.js引用。类似于Where place forever-monitor code?。)

两者都启动服务器,但是当我关闭putty时,两者都让服务器死掉。

我在这里缺少什么?

------------------------------------- update --------- ----------------------------

我想我也可以跳过foreverMonitor(尚未验证)

nohup forever "/home/ec2-user/myApp.js" &
forever stop "/home/ec2-user/myApp.js"

------------------------------------- update --------- ----------------------------

工作,现在使用此

nohup forever "/home/ec2-user/foreverMonitor.js" &
forever stop "/home/ec2-user/foreverMonitor.js"

2 个答案:

答案 0 :(得分:2)

我并不完全熟悉AWS,但似乎您可能需要运行nohup。尾随符号应该在执行命令后立即再次控制终端。

  

$ nohup forever" /home/ec2-user/myApp.js" &安培;
  $ nohup node" /home/ec2-user/foreverMonitor.js" &安培;

有关nohup和尾随和号的详细信息,请参阅此答案:https://stackoverflow.com/a/15595391/498624

答案 1 :(得分:0)

查看PM2 https://github.com/Unitech/pm2

永远成功使用后,我切换到了PM2。

永远工作正常,但我发现PM2更适合我的心理模型。 PM2还有一个非常简洁(并且不断发展)的Web界面,您可以在其中监视和控制节点实例。作为奖励,您还可以在PM2下运行非节点任务