2015-03-20 15 views
9

Stiamo provando ad avviare la nostra app con pm2 0.12.8 su ubuntu 14.04 con octa core proccessor. Il read me sull'hit git ha un comando molto diretto per l'esecuzione dell'app nodo in modalità cluster.Come avviare l'app node.js con pm2 in modalità cluster?

modalità # Cluster

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

Ma il comando di cui sopra non stanno lavorando per noi. Quando proviamo a eseguire questi comandi, solo un'istanza viene elencata da pm2.

Perché? Ogni suggerimento

Grazie

risposta

30

Hai provato di partenza un numero fisso di processi? Ad esempio

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

cosa ti mostra "pm2 monit"?

Prova anche

pm2 stop all 
pm2 delete all 

e poi

pm2 start app.js -i 0 

se ci si ferma un processo in PM2 si riserva ancora una CPU per esso, anche se non è in esecuzione. si dovrebbe allways utilizzare PM2 eliminare

+0

Grazie funziona per me, ma come passare paramters –

+0

come app.js inizio PM2 - prova -i 2 –

+1

utilizzare una dichiarazione JSON App per passare i parametri https://github.com/Unitech/PM2/blob/master/A DVANCED_README.md # a10 –

4

Dal momento che si sta cercando di utilizzare un file processo per gestire il PM2, il file di processo dovrebbe essere simile a questo:

// 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 
    }] 
    } 

Esegui questo prodotto utilizzando il seguente comando per avviare e fermare rispettivamente:

$ pm2 start ecosystem.js 
$ pm2 stop ecosystem.js 
Problemi correlati