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

标签 linux node.js express centos vps

从昨天开始,我对 VPS 和 Linux 绝对是 100% 的新手,我遇到了一个问题。流程如下:

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

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

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

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

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

最佳答案

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

至少有两种选择:

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

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

关于linux - 当我让笔记本电脑进入休眠状态时,在 VPS (linux) 上运行的 NodeJS 应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20233901/

相关文章:

linux - 重新启动后新的 IP 地址不再保留

linux - 自动安装 Apache Ant

c - 餐饮哲学家的变化

node.js - 如何为 Node.js 应用程序设置本地子域

Node.js 速率限制器身份验证 token 而不是 IP 地址

ios - Linux APNS 服务器我应该创建哪个证书?

javascript - Knexjs PgSQL json 查询

node.js - react 应用程序 : Using Node/express as middle-end proxy server

javascript - 如何传递并执行 mysql 查询?

javascript - did() 是否完成与 Javascript Promise 中的 catch() 相同的事情(使用sequelize 和 bluebird)?