2014-04-17 67 views
1

我已经创建了一个简单的NodeJS应用程序,现在我已经移动到AWS中的服务器。如何在远程服务器上启动NodeJS进程?

我能够SSH入服务器并启动应用程序,但显然只要我关闭终端,进程停止。

如何启动NodeJS应用程序并在关闭终端后继续运行?

+1

http://stackoverflow.com/questions/12701259/how-to-make-a-node-js-application-run-permanently的副本 – alandarev

+0

谢谢!我确实搜索了这个问题,但看不到现有的问题。 – michael

回答

2

这不是一个特定的nodejs问题,虽然有特定的解决方案(例如forever)。

一个通用的解决方案,可以在linux上远程启动任何程序,并且在关闭会话时不会死掉,而是使用nohup启动它。下面是我在其中启动节点和重定向两种标准和错误输出到server.log文件的一个示例:

nohup node main.js >> server.log 2>&1 < /dev/null & 
1

像丹尼斯·塞居勒说,这可以通过使用永远节点程序包来完成。下面是如何 -

SSH到你的服务器,并永远全球安装为根级用户

sudo npm install forever --global

要在AA节点脚本一直运行下去,在终端,而在同一目录下执行作为server.js这样 -

forever start server.js

确保通过在适当的URL启动浏览器,如果它的工作进行测试。如果要检查你有你的服务器上运行的永远脚本的状态(可以在多个脚本运行),运行此命令 -

forever list

,并要么停止永远脚本,您可以运行forever stop,这将停止我相信的所有永远脚本,或运行forever stop 0,其中0是永远列表中脚本的索引。

我在我的所有应用程序中永远使用,还没有任何问题,但我不认为我有我的远程服务器的任何重大关闭问题。也许如果发生这种情况,我会更多地谈论永远的可信度。从这website这个答案一些学分。

相关问题