nodejs“永远”只是没有做任何事情

我正在尝试在Amazon EC2实例上永久使用我的nodejs应用程序。 我安装了nodejs npm,然后运行sudo npm install forever -g
安装没有返回任何错误,所以我继续尝试运行我的应用程序使用forever start server.js ,但它不会做任何事情 – 没有输出什么,所以,甚至没有错误。
我也forever --help试着 – 帮助,只是forever ,但没有一个给我任何回应…

当定期运行我的应用程序使用nodejs – nodejs init.js然后它按预期工作,但我需要让它forever运行,所以它不会closures时,我断开服务器。

编辑:
由于我遇到的唯一问题是,当我closuresterminal会话到我的EC2服务器时,nodejs正在closures,我使用linux nohup命令解决了这个问题:
nohup sudo nodejs server.js &
即使在closuresterminal窗口之后,这仍然使nodejs在subprocess中运行。

感谢您的帮助! 🙂

我也没有收到来自任何forever命令的任何stdoutinput,这个修复钉钉它:

 sudo ln -s /usr/bin/nodejs /usr/local/bin/node 

希望能帮助别人。

我不知道这是否会有所帮助,但作为替代,你可以用upstart 。 像这样创build一个脚本:

 #this is the upstart service task. move it to /etc/init/nodeapp.conf description "server for Node App" author "Neels Grobler" chdir /root/servers/nodeapp exec node init.js 1>stdout.log 2>stderr.log respawn 

并通过inputstart nodeapp运行它。 停止typesstop nodeapp 。 您也可以更改脚本,使节点应用程序启动系统启动等。更多信息在upstart.ubuntu.com

你应该forever start server.js使用forever start server.js而不是forever server.js

在窗户上,当你永远跑着像:

 forever start app.js 

您可以在文件系统中find生成的日志文件:

 C:\Users\USERNAME\.forever\SomeLogFileHere.txt 

每个运行的脚本都会重新生成日志文件,每个文件都有唯一的标识符。 您可以随时通过以下方式检查哪个文件属于哪个进程:

 forever list 

几个猜测。

  • 如果你使用sudo npm install forever -g ,你可能需要sudo才能永远运行。
  • 把永久运行forever start /home/you/source/server.jssudo forever start /home/you/source/server.js forever start /home/you/source/server.js运行server.js的完整path