【问题标题】:NodeJS app running on VPS (linux) crashes when I put my laptop to sleep当我让笔记本电脑进入睡眠状态时,在 VPS (linux) 上运行的 NodeJS 应用程序崩溃
【发布时间】:2013-11-27 13:29:20
【问题描述】:

截至昨天,我对 VPS 和 linux 绝对是 100% 的新手,但我遇到了一个问题。流程如下:

  1. 我在 OSX 终端中通过 SSH 连接到我的 VPS 盒子。 VPS 运行 CentOS 6 是物有所值的。
  2. 我导航到正确的文件夹并运行node app.js 以在NodeJS/ExpressJS 中启动我的应用程序。
  3. 应用程序启动并可以通过我的 VPS 的 IP 地址 + 分配的端口号通过网络轻松访问。
  4. 如果我让笔记本电脑进入睡眠状态,应用程序会崩溃并且无法再通过网络访问。

再次,作为 Linux 新手,我不知道如何解决这个问题。这是有道理的,因为正在运行/记录节点应用程序日志的终端不再响应,但我想要的是:

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

这两件事都可能吗?显然,我通过终端启动应用程序的协议(如果在本地运行它通常会这样做)不是正确的方法,但我无法找到告诉我该怎么做的资源!

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

【问题讨论】:

    标签: linux node.js express centos vps


    【解决方案1】:

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

    至少有两种选择:

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

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

    【讨论】:

    • 澄清一下,Screen 是从 OSX 还是从我的 SSH 连接到 CentOS 运行它?
    • 在 CentOS 上的 ssh 连接中。
    猜你喜欢
    • 1970-01-01
    • 2020-10-24
    • 2010-10-12
    • 1970-01-01
    • 2010-09-28
    • 2023-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多