当我让笔记本电脑进入睡眠状态时,在VPS(linux)上运行的NodeJS应用程序崩溃了

时间:2013-11-27 04:26:49

标签: linux node.js express centos vps

截至昨天,我对VPS和Linux绝对是100%新手,而且我遇到了一个问题。这是过程:

  1. 我在OSX终端中通过SSH连接到我的VPS盒子。 VPS正在运行CentOS 6以获得它的价值。
  2. 我导航到正确的文件夹,然后运行node app.jsNodeJS / ExpressJS启动我的应用。
  3. 应用程序启动并可通过网络以我的VPS的IP地址+分配的端口号轻松访问。
  4. 如果我让笔记本电脑进入睡眠状态,应用程序会崩溃,无法通过网络访问。
  5. 再次,对Linux新手我不知道如何解决这个问题。这是有道理的,因为正在运行/记录节点应用程序日志的终端不再响应,但我想要的是:

    a)为了能够远程启动应用程序然后让它......永远运行...直到我手动停止它 b)能够通过我的手机或笔记本电脑间歇性地通过SSH回到我的服务器来检查日志。

    这两件事中的任何一件都可能吗?很明显,我通过终端启动应用程序的协议(正如我通常在本地运行时所做的那样)不是正确的方法,但我找不到资源告诉我该做什么!

    编辑:我实际上正在使用Node Supervisor运行应用程序,这有助于在事情崩溃时保持并运行,不确定这是否会影响情况。

1 个答案:

答案 0 :(得分:3)

很可能您的应用程序正在打印到标准输出(控制台),并且当您将笔记本电脑置于睡眠状态时,该流将关闭/中断。

至少有两个选择:

  1. 使用screen:只需在启动应用之前输入screen即可。然后启动你的应用程序然后按Ctrl-A-D从屏幕上分离。然后,您可以安全地从VPS注销并让您的笔记本电脑进入睡眠状态。要返回应用的输出,请重新登录并输入screen -r

  2. 在后台运行应用:node app.js &