【问题标题】:Reload PM2 configuration file重新加载 PM2 配置文件
【发布时间】:2020-06-23 22:30:12
【问题描述】:

我在编辑后重新加载 PM2 配置文件时遇到问题:

{
    "apps": [
        ...
        {
            "name": "foo",
            "script": "foo/index.js",
            "cwd": "foo",
            "watch": false
        }
    ]
}

我以前做过

pm2 restart config.json

pm2 reload config.json

pm2 gracefulReload config.json

但他们没有重新加载现有应用的配置(应用配置中的更改不适用)。对我有用的唯一方法是:

pm2 delete foo
pm2 restart config.json

这应该怎么做?

【问题讨论】:

    标签: node.js pm2


    【解决方案1】:

    正如the reference 所说,不再重新加载配置:

    从 PM2 v2.1.X 开始,环境默认是不可变的,这意味着除非您告诉 PM2 这样做,否则它们永远不会更新,要更新配置,您将需要使用 --update-env 选项。

    应该是这样的

    pm2 startOrReload config.js --update-env
    

    【讨论】:

    • 只是为了更新上面的参考..在这里你可以找到信息--update-env
    【解决方案2】:

    如果您使用pm2 进行本地开发,并且在重新加载配置时遇到问题,您应该运行:

    $ pm2 delete ecosystem.config.js
    

    这会删除现有服务(不用担心,不会删除任何文件)。然后重新加载配置运行:

    $ pm2 start ecosystem.config.js
    

    提示:您可能需要将ecosystem.config.js 替换为您的配置文件名)

    这是一种非常粗糙的重新加载方式,但如果您想要一个干净的状态,这很好。解决一些问题很有效,就像我遇到的node-config - 即使我将instance_var 添加到我的生态系统配置中,我也会收到NODE_APP_INSTANCE 警告。

    【讨论】:

      猜你喜欢
      • 2011-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多