【问题标题】:Node Backend stay running in GPC Compute Engine节点后端在 GPC 计算引擎中保持运行
【发布时间】:2020-08-17 14:21:31
【问题描述】:

我是使用 GCP 和他的计算引擎服务的新手。我已经部署了一个 Linux Ubuntu 映像,它的运行就像一个魅力,但我在运行 Node JS 后端时遇到了问题。

让我更好地解释一下: 我正在使用 Web 浏览器 SSH 终端或 GCloud Shell ssh 进行连接,它可以运行 node app.js 我的后端开始工作。但一段时间后,会话停止和我的后端服务也停止工作。这时候每次需要工作的时候都要重新激活服务。

我如何才能让这项服务在后台运行而不依赖于我的 ssh 终端是否打开?

非常感谢。

【问题讨论】:

    标签: node.js google-cloud-platform google-compute-engine


    【解决方案1】:

    实际发生的是您正在使用作为父进程的客户端启动您的 nodejs 应用程序。因此,如果某个时间后连接丢失了一些 xyz 秒,则父进程会终止,从而杀死您的节点应用程序。现在您可以使用screen。在 ubuntu 上你会做这样的事情。

    sudo apt-get install screen

    安装成功后运行screen 命令。现在您将被抛出一个全新的终端。在这里,您可以运行永远不会死的 nodejs 代码。由于 screen 在后台运行您的应用程序。更多资讯here

    【讨论】:

    • 这绝对是一种魅力。非常感谢老兄。
    【解决方案2】:

    一个好的解决方案可能是使用启动脚本。要将启动脚本插入到您已经创建的实例中,您需要转到此链接 [1]。当您在元数据字段中插入启动脚本后,您只需要重新启动您的实例,然后就可以在不依赖 ssh 会话的情况下完美运行。


    [1]https://cloud.google.com/compute/docs/startupscript#startupscriptrunninginstances

    【讨论】:

    • 非常感谢亚历克斯。 Mukesh Verma 解决方案运行良好。
    【解决方案3】:

    我创建了这个npm package,让您的节点应用程序在您的 linux 机器上作为服务运行。请尝试一下。

    它会在您的机器上创建一个systemctl 服务并将其作为后台服务运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-05
      相关资源
      最近更新 更多