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
命令的任何stdout
input,这个修复钉钉它:
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.js
或sudo forever start /home/you/source/server.js
forever start /home/you/source/server.js
运行server.js的完整path