【问题标题】:Safely Undeploying / Redeploying on MERN Stack using PM2 and yarn?使用 PM2 和纱线在 MERN 堆栈上安全地取消部署/重新部署?
【发布时间】:2021-12-05 19:52:21
【问题描述】:

我在 Ubuntu 服务器上的相当标准的 MERN 堆栈上运行 Web 服务。我对 Web 部署或 Web 编程不太熟悉,但我发现自己参与了这个项目。

Web 服务有一个关于如何部署服务的非常广泛的说明列表,但它没有关于如何取消部署/重新部署它的说明。此外,将服务代码部署在我们的服务器上的是服务代码的卖家。

我对代码做了一些小改动(修正拼写、删除/添加功能),但我似乎无法弄清楚如何安全地取消部署或重新部署服务。

部署说明列表基本上是:

  1. 纱线
  2. 纱线构建
  3. 纱线开始:产品
  4. pm2 启动 dist/main.js

在旧服务运行时按原样执行此操作显然不起作用,因为正在监视我试图重新启动的端口。停止 pm2 进程允许我使用上述方法重新部署,但现在当我重新启动该进程时会导致 502 网关错误。

使用此技术堆栈取消部署和/或重新部署服务的安全方法是什么?

【问题讨论】:

    标签: node.js yarnpkg pm2


    【解决方案1】:

    你可能想先看看你的 ubuntu 服务器。

    PM2 就像一个服务经理。要获取正在运行的服务列表,请运行此命令。

    pm2 ls
    

    一个典型的输出:

    通常,当您安装更新时,您只需重新启动它们。

    pm2 restart <service-name>
    

    例如pm2 restart cache 在我的例子中

    【讨论】:

    • 但这仍会导致短暂的停机时间。如果您使用pm2 start dist/main.js -i max 启动服务,然后您也可以使用pm2 reload &lt;service_name&gt; 以零停机时间重新部署。在此处阅读更多信息pm2.keymetrics.io/docs/usage/cluster-mode
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-14
    • 1970-01-01
    • 2021-11-24
    • 2021-03-03
    • 2020-09-07
    • 1970-01-01
    相关资源
    最近更新 更多