2015-03-20 2 views
9

Мы пытаемся запустить наше приложение с pm2 0.12.8 на ubuntu 14.04 с октановым прокси-сервером. Чтение меня в git-хабе имеет очень прямую команду для запуска приложения-узла в режиме кластера.Как запустить приложение node.js с pm2 в режиме кластера?

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

$ 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.

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

Благодаря

ответ

30

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

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 он все еще сохраняет один процессор для него, даже если его не работает. Вы должны ВСЕГДА использовать пм2 удалить

+0

Спасибо это работает для меня, но как пройти paramters –

+0

как старт пм2 app.js - тест -i 2 –

+1

использовать объявление JSON App передать параметры https://github.com/Юнитек/PM2/блоб/мастер/А DVANCED_README.md # a10 –

4

Поскольку вы хотите использовать файл процесса для управления 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 
Смежные вопросы