DEV Community

Miguelangel Parra
Miguelangel Parra

Posted on • Updated on

Utilizando PM2 (Basico)

¿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
Enter fullscreen mode Exit fullscreen mode

¿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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Lista de procesos

Se puede monitorear lo que esta pasando en los procesos en ejecución con pm2?

Si, puedes utilizar los siguientes comandos:
Monitor PM2

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
Enter fullscreen mode Exit fullscreen mode

¿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>
Enter fullscreen mode Exit fullscreen mode

Se pueden resetear todos los procesos en ejecucion a la vez?

Si, ejecutando :

pm2 reload all
Enter fullscreen mode Exit fullscreen mode

¿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
Enter fullscreen mode Exit fullscreen mode

Referencias:
npm - pm2
Pagina oficial de PM2 - Documentación

Top comments (0)