Una delle attività che spesso ricorre per un amministratore di sistema o uno sviluppatore è come gestire i processi delle applicazioni Node.js; ad esempio come poter avviare al boot del Sistema Operativo (ad esempio su di una distribuzione Linux) le applicazioni Node.js.
Una delle attività che spesso ricorre per un amministratore di sistema o uno sviluppatore è come gestire i processi delle applicazioni Node.js; ad esempio come poter avviare al boot del Sistema Operativo (ad esempio su di una distribuzione Linux) le applicazioni Node.js.
Un gestore di processi (process manager) è simile a un server delle applicazioni: è un “contenitore” di applicazioni che facilita lo sviluppo, fornisce un’elevata disponibilità e consente di gestire l’applicazione a runtime.
Tra i process manager più utilizzati c’è sicuramente una libreria npm denominata PM2.
PM2 è un process manager che ci aiuta ad avviare le nostre applicazioni Node.js all’avvio del Sistema Operativo e riavviarle con facilità. PM2 ha una sua CLI semplice e intuitiva, installabile tramite NPM.
Per installare PM2 basta il seguente comando npm:
npm install pm2 -g
Il modo più semplice per avviare, demonizzare e monitorare un’applicazione è utilizzare questa riga di comando:
pm2 start app.js
In caso di script più complessi, ad esempio npm run qualcosa, possiamo utilizzare questa sintassi:
pm2 start "npm run server" --name RestAPI --watch
dove tra virgolette troviamo il nostro script npm di avvio, mentre on –name battezziamo la nostra applicazione con un nome (nel nostro caso RestAPI) mentre con –watch indichiamo che vogliamo il restart dell’applicazione nel caso in cui vengano modificati dei suoi file.
Per rendere l’applicazione gestita da ora in avanti da PM2 bisogna salvarla con il comando:
pm2 save
Per generare lo script di startup invece bisogna dare il comando:
pm2 startup
Con l’opzione describe possiamo invece ottenere delle informazioni utili sulla nostra applicazione, ad esempio con quali argomenti è stata lanciata:
pm2 describe RestAPI
Per ottenere una lista delle applicazioni Node.js gestite da PM2, basta lanciare:
pm2 list
ed otterremo un risultato del tipo:

Con il comando pm2 monit invece otteniamo una schermata con la quale monitorare in tempo reale le nostre applicazioni:

COMMENTS
Come sempre un’ottima guida, ben fatta
Come posso fare per avere qaualche altra piccola delucidazione? Ottimo articolo comunque!
Bell’articolo. Vale la pena di leggerlo.
Grazie per la guida
Salve, tutto ben chiaro. Ce una mail a cui posso scrivervi? Grazie!
Ottima guida! Top!