【问题标题】:How to create pm2 ecosystem.json file for node js express app which starts using npm start?如何为使用 npm start 启动的节点 js express 应用程序创建 pm2 生态系统.json 文件?
【发布时间】:2017-04-07 10:47:07
【问题描述】:

我想将 pm2 用于 node js express 应用程序。 我可以使用 npm start 启动节点 js 服务器。 我想在生态系统.json 文件中配置相同的内容,以便我可以使用 pm2 工具开始。 我也想以集群模式开始。

请注意,我可以使用以下命令启动 node js 应用程序

pm2 start "/usr/bin/npm" --name "blaze-node" -- start -i 0

上面的命令有两个问题。

  1. ecsystem.json 文件中没有配置。
  2. 不遵守 -i 0 参数。它只启动单个实例。

更多信息

以下是生态系统.json 文件

   {
   "apps":[
      {
         "name":"blaze-node",
         "script":"npm",
         "exec_mode":"cluster",
         "instances":"0",
         "env_dev":{
            "watch":true,
            "NODE_ENV":"dev"
         },
         "env_qa":{
            "watch":false,
            "NODE_ENV":"qa"
         },
         "env_prod":{
            "watch":false,
            "NODE_ENV":"prod"
         }
      }
   ]
}

如果我执行以下命令 pm2 启动生态系统.json --env dev 它显示了很好的输出,表明进程已启动。 但是在 3000 端口上什么都听不到。

当我使用命令而不使用生态系统.json 文件时 如下

pm2 start "/usr/bin/npm" --name "blaze-node" -- start -i 0

除了上面提到的这两个问题之外,一切都很好。

请帮忙。

【问题讨论】:

  • 我可以使用以下命令以集群模式启动应用程序 pm2 start "/usr/bin/npm" --name "blaze-node" -i 0 -- run start 请注意上面的命令仍然没有使用 ecosytem.json 文件。
  • “pm2 status”和“pm2 logs”有什么用?
  • " 可以使用以下命令以集群模式启动应用程序 pm2 start "/usr/bin/npm" --name "blaze-node" -i 0 -- run start 请注意上面的命令仍然没有使用 ecosytem.json 文件。-" 如果你没有使用 ecosytem.json 文件,即使那样你也需要从符号链接的父目录运行 pm2 start 命令。

标签: javascript node.js express npm pm2


【解决方案1】:

您可能可以在 pm2 config.js 中结合使用scriptargsnode_args 来实现此目的。让 pm2 script entry point 调用 npm script entry point 来调用脚本,这听起来违反直觉!此时最好绕过 package.json 并结合使用这 3 个配置参数来实现相同的脚本执行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 2020-10-26
    • 2021-10-29
    • 2021-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多