¿Qué es PM2 y para qué sirve?
Básicamente PM2 es un gestor de procesos de aplicaciones para Node.js. Te permite gestionar con gran facilidad y de manera intuitiva aquellas aplicaciones que tengan como objetivo correr en un servidor con Node.js, aunque también es útil para entornos locales de desarrollo y prueba.
Su magia mas relevante esta en que facilita mantener vivo de manera permanente cualquier proceso de Node.js , incluso con recarga automáticas en caso de reinícios del sistema.
PM2 facilita enormemente la administración de tareas comunes de administración de sistema.
¿Dónde se puede utilizar PM2?
PM2 se puede utilizar de forma estable en las 3 plataformas principales: Linux, MacOS y Windows. Siempre que tenga versiones iguales o superiores a Node.js 12.X instalado en el entorno.
¿Como instalar PM2?
Instalar PM2 es tan fácil como instalar cualquier paquete de npm
npm install pm2 -g
¿Cómo arrancar una aplicación con PM2?
Hacer correr una aplicación con PM2 es tan fácil como posicionarse en el directorio en donde se encuentra el archivo principal de la aplicación objetivo y ejecutar por terminal:
pm2 start app.js
Siendo "app.js" la referencia al archivo raíz.
¿Cómo se puede saber qué aplicaciones están ejecutándose con pm2?
Para listar todos los procesos y poder visualizarlos en formato lista debes ejecutar:
pm2 list
Se puede monitorear lo que esta pasando en los procesos en ejecución con pm2?
Si, puedes utilizar los siguientes comandos:
pm2 monit
pm2 logs
pm2 logs APP-NAME # Display APP-NAME logs
pm2 logs --json # JSON output
pm2 logs --format # Formated output
pm2 flush # Flush all logs
pm2 reloadLogs # Reload all logs
¿Cómo puedo administrar los procesos con PM2?
De forma intuitiva puedes utilizar los siguientes 4 comandos básicos para la gestión de procesos con PM2:
pm2 start <app_name|namespace|id|'all'|json_conf>
pm2 stop <app_name|namespace|id|'all'|json_conf>
pm2 restart <app_name|namespace|id|'all'|json_conf>
pm2 delete <app_name|namespace|id|'all'|json_conf>
Se pueden resetear todos los procesos en ejecucion a la vez?
Si, ejecutando :
pm2 reload all
¿Qué pasa si el servidor se resetea?
No pasa nada, pero debemos configurar el script de ejecución automática al arrancar el sistema:
# Genera un Startup Script
pm2 startup
# Congela los procesos de la lista que están ejecutándose al momento de resetearse
pm2 save
# Remueve el Startup Script
pm2 unstartup
Referencias:
npm - pm2
Pagina oficial de PM2 - Documentación
Top comments (0)