如何为节点js express app创建pm2 ecosystem.json文件,该应用程序开始使用npm start?

时间:2016-11-23 12:11:56

标签: javascript node.js express npm pm2

我想将pm2用于node js express app。 我可以使用npm start启动节点js服务器。 我想在ecosystem.json文件中配置相同,以便我可以使用pm2工具开始。 我也想以集群模式开始。

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

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

上述命令存在两个问题。

  1. 未在ecosystem.json文件中配置。
  2. 不遵守-i 0参数。它只启动单个实例。
  3. 更多信息

    以下是ecosystem.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启动ecosystem.json --env dev 它显示了很好的输出,表明进程已经启动。 但是在3000端口上没有听到任何声音。

    相反,当我使用命令而不使用ecosystem.json文件时 如下

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

    除了上面提到的那两个问题外,每件事情都很好。

    请帮忙。

1 个答案:

答案 0 :(得分:0)

您可以在pm2 config.js中使用“脚本”,“ args”和“ node_args”的组合来实现此目的。让pm2 脚本入口点调用npm 脚本入口点来调用脚本听起来违反直觉。最好此时绕过package.json并结合使用这3个配置参数来实现相同的脚本执行