Как запустить узел.JS приложение с pm2 в режиме кластера?

мы пытаемся запустить наше приложение с pm2 0.12.8 на ubuntu 14.04 с octa core proccessor. Read me on the Git hub имеет очень прямую команду для запуска приложения узла в режиме кластера.

кластер# режим

$ pm2 start app.js -i 0        **# Will start maximum processes with LB depending on available CPUs**
$ pm2 start app.js -i max      **# Same as above, but deprecated yet.**

но вышеуказанная команда не работает для нас. При попытке выполнить эти команды только один экземпляр указан pm2.

почему? Любое предложение

спасибо

2 ответов


вы пробовали запустить фиксированное количество процессов? т. е.

pm2 start app.js -i 2 //should start two instances.

что показывает вам "pm2 monit"?

попробовать

pm2 stop all
pm2 delete all 

а то

pm2 start app.js -i 0

Если вы остановите процесс в pm2, он по-прежнему резервирует один процессор для него, даже если он не работает. вы должны всегда использовать pm2 delete


поскольку вы хотите использовать файл процесса для управления pm2, файл процесса должен выглядеть примерно так:

    // ecosystem.js
    {
    "apps" : [{
      "name"      : "API",
      "script"    : "server.js",// name of the startup file
      "instances" : 4,          // number of workers you want to run
      "exec_mode" : "cluster",  // to turn on cluster mode; defaults to 'fork' mode 
      "env": {
        "PORT"      : "9090" // the port on which the app should listen
      }
      // for more options refer : http://pm2.keymetrics.io/docs/usage/application-declaration/#process-file
    }]
    }

запустите это приложение, используя следующую команду для запуска и остановки соответственно:

$ pm2 start ecosystem.js
$ pm2 stop ecosystem.js