如何在远程服务器上启动NodeJS进程?

我已经创build了一个简单的NodeJS应用程序,现在我已经移动到AWS中的服务器。

我可以SSH入服务器,并启动应用程序,但显然只要我closuresterminal的过程中停止。

如何启动NodeJS应用程序并在closuresterminal后继续运行?

Solutions Collecting From Web of "如何在远程服务器上启动NodeJS进程?"

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

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

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

就像Denys Seguret说的那样,这可以使用forever节点包来完成。 就是这样 –

SSH到您的服务器并永久安装作为根级用户

sudo npm install forever --global

要永远运行一个节点脚本,在终端执行,而在同一个目录中的server.js像这样 –

forever start server.js

确保通过在相应的URL中启动浏览器来测试其工作。 如果你想检查你的服务器上运行的所有永远脚本的状态(你可以在多个脚本上运行它)运行这个命令 –

forever list

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

我永远在我的所有应用程序上使用,还没有任何问题,但我不认为我有我的远程服务器的任何重大关闭问题。 也许如果发生这种情况,我将不得不说永远的可信度。 一些学分从这个网站的答案。