PM2: La Tua Assicurazione per Processi Node.js Inarrestabili
Se sviluppi in Node.js, c’è una cosa che potresti voler evitare a tutti i costi: il crash della tua applicazione. E qui entra in scena PM2, un tool che ti garantisce che tutto funzioni liscio, anche quando non ci sei. Vediamo insieme cos'è PM2 e perché sarà il tuo nuovo migliore amico.
Cos’è PM2?
PM2 è come il buttafuori di un locale per il tuo codice. Gestisce la tua applicazione, la controlla, e se qualcosa non va… la fa ripartire in un attimo. Non solo: ottimizza le performance e ti offre tutta una serie di funzioni avanzate che ti semplificano la vita.
Come Funziona PM2?
Vediamo cosa può fare per te:
Avvia e Mantiene Viva la Tua App:
Invece di avviare la tua app Node.js manualmente, lasci che sia PM2 a farlo. Un comando e via:
pm2 start app.js --name "my-app"
Se la tua app crasha, PM2 la riavvia da solo. Sì, hai capito bene. Non devi fare nulla.
Distribuzione su Più Core:
Node.js di default usa un solo core della tua CPU. Ma se hai un server bello potente, perché non sfruttare tutti i core? PM2 te lo permette con facilità:
pm2 start app.js -i max
Con questo, la tua app gira su tutti i core disponibili, gestendo meglio il traffico.
Controlla e Riavvia:
Se la tua app va giù, PM2 la riavvia. E se vuoi che la tua app gestisca più richieste contemporaneamente, puoi aumentare le istanze:
pm2 scale my-app 4
Ora hai 4 processi della tua app che gestiscono il traffico insieme.
Log e Monitoraggio:
Vuoi sapere cosa sta succedendo? PM2 ti tiene aggiornato con i log in tempo reale:
pm2 logs my-app pm2 monit
Puoi vedere quanta CPU e memoria sta usando la tua app, così da capire subito se qualcosa non va.
Esempio Pratico: Un'API Express Gestita da PM2
Hai un'API semplice in Express? Nessun problema! PM2 la tiene d’occhio per te:
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(port, () => {
console.log(`Server in ascolto sulla porta ${port}`);
});
Avviala con:
pm2 start server.js --name "api-server"
Se l’API crasha, PM2 la riavvia senza che tu muova un dito.
Caratteristiche Interessanti di PM2
- Nessuna Configurazione Complessa: Installi e usi, senza sbattimenti.
- Resistente ai Riavvii: Se il server si riavvia, PM2 fa ripartire automaticamente le tue app.
- Configurazione JSON: Puoi anche impostare tutto con un file JSON, per una gestione ancora più semplice.
Conclusione
Insomma, se lavori con Node.js, PM2 è un must-have. Ti garantisce che la tua app sia sempre online e ottimizzata. È come avere un assistente che si occupa di tutto quello che ti farebbe perdere tempo.