当终端关闭时,Node.js停止

时间:2015-02-25 07:45:14

标签: node.js linode

我正在使用Fedro服务器来部署node.js代码 我将代码保存在/var/www/example.com/中 每当终端打开时,我可以在关闭终端后立即访问API,但我无法访问它。
此外,我曾尝试使用nohup命令在后台执行该过程。但我所读到的是每当我们重新启动系统时它将不再在后台运行。

如何解决这个问题呢。 提前致谢。

3 个答案:

答案 0 :(得分:1)

嗨检查请检查PM2节点。 https://github.com/Unitech/pm2

PM2是具有内置负载均衡器的Node.js应用程序的生产流程管理器。它允许您永久保持应用程序活跃,无需停机即可重新加载它们,并促进常见的系统管理任务。

我们在项目中使用PM2,当您重新启动服务器时,您的应用程序问题将停止尝试检查init.d

答案 1 :(得分:0)

要结束程序,您应该使用Ctrl + C.如果这样做,它会发送SIGINT,它允许程序正常结束,从正在侦听的任何端口解除绑定。

另请参阅:https://superuser.com/a/262948/48624

答案 2 :(得分:0)

您可以在屏幕内运行该程序。每当您关闭屏幕时,程序将继续运行。

创建一个屏幕

screen -S <screen_name>

现在,您将切换到屏幕并在此屏幕中运行节点服务器。

使用ctrl + C关闭服务器。

关闭屏幕&#39; x&#39;图标无法关闭在屏幕内运行的程序。

列出屏幕

screen -list

您创建的屏幕将显示在列表中。您将能够通过屏幕名称识别它。此外,ID将显示为名称

返回屏幕

screen -dr <id>