从昨天开始,我对 VPS 和 Linux 绝对是 100% 的新手,我遇到了一个问题。流程如下:
- 我通过 SSH 连接到 OSX 终端中的 VPS 盒。 VPS 正在运行 CentOS 6,这是物有所值的。
- 我导航到正确的文件夹并运行
node app.js
以在NodeJS
/ExpressJS
中启动我的应用程序。 - 应用程序启动并可通过网络轻松访问我的 VPS 的 IP 地址 + 分配的端口号。
- 如果我让笔记本电脑进入休眠状态,该应用程序就会崩溃,并且无法再通过网络访问。
同样,作为 Linux 的新手,我不确定如何解决这个问题。这是有道理的,因为正在运行/记录 Node 应用程序日志的终端不再响应,但我想要的是:
a) 能够远程启动应用程序,然后让它一直...运行...直到我手动停止它 b) 能够通过我的手机或笔记本电脑间歇性地 SSH 回到我的服务器以检查日志。
这两种情况都有可能吗?显然,我通过终端启动应用程序的协议(protocol)(如果在本地运行它,我通常会这样做)不是正确的方法,但我找不到资源来告诉我该怎么做!
编辑:我实际上正在使用 Node Supervisor
运行应用程序,这有助于在出现崩溃时保持应用程序正常运行,但不确定这是否会影响情况。
最佳答案
当您让笔记本电脑进入休眠状态时,您的应用很可能正在打印到标准输出(控制台),并且该流已关闭/中断。
至少有两种选择:
使用 screen :只需在启动您的应用程序之前键入
screen
。然后启动您的应用程序。然后 Ctrl-A-D 从屏幕上分离。然后您可以安全地从 VPS 注销并让您的笔记本电脑进入休眠状态。要返回应用的输出,请重新登录并键入screen -r
在后台运行应用程序:
node app.js &
。
关于linux - 当我让笔记本电脑进入休眠状态时,在 VPS (linux) 上运行的 NodeJS 应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20233901/