🚀 ¿Qué es PM2?
PM2 es un gestor de procesos avanzado para aplicaciones Node.js, diseñado para facilitar la ejecución, monitoreo y mantenimiento de aplicaciones en entornos de producción. Garantiza que su aplicación permanezca en línea, reiniciándola automáticamente en caso de fallos y ofreciendo funcionalidades adicionales como balanceo de carga y monitoreo de rendimiento.
🔍 Principales Ventajas de PM2
-
Gestión Simplificada de Procesos: Con comandos simples como
pm2 start,pm2 stop,pm2 restartypm2 delete, puede controlar fácilmente los procesos de su aplicación. -
Balanceo de Carga con Modo Clúster: PM2 permite distribuir automáticamente las solicitudes entre múltiples instancias de la aplicación, aprovechando todos los núcleos de CPU disponibles y mejorando el rendimiento.
-
Gestión Centralizada de Logs: Visualice y analice los logs de su aplicación de forma consolidada con el comando
pm2 logs. -
Despliegues Sin Downtime: Actualice su aplicación sin interrupciones utilizando el comando
pm2 reload, garantizando una experiencia continua para los usuarios. -
Monitoreo Integrado: Supervise métricas como uso de CPU, memoria y estado de los procesos en tiempo real con el comando
pm2 monit.
🛠️ Cómo Utilizar PM2 en SaveinCloud
En la plataforma, puede integrar PM2 a su aplicación Node.js de dos maneras principales:
1️⃣ - Seleccionando la Etiqueta "PM2" al Crear el Entorno
Durante la creación de un nuevo entorno en SaveinCloud, puede optar por una imagen preconfigurada que ya incluye Node.js y PM2 instalados. Esta opción agiliza el proceso de despliegue, permitiendo que su aplicación sea gestionada por PM2 desde el inicio.

2️⃣ - Configurando PM2 vía Variables de Entorno
Si ya tiene un entorno en ejecución, es posible configurar PM2 utilizando variables de entorno.


📄 Configuración del Archivo ecosystem.config.js
Para que PM2 gestione su aplicación correctamente, es necesario crear un archivo de configuración llamado ecosystem.config.js en el directorio /home/jelastic/ROOT. Este archivo define cómo PM2 debe iniciar y monitorear su aplicación.
Puede generar un archivo de configuración básico con el siguiente comando:
pm2 init simple
Ejemplo de contenido para el ecosystem.config.js:
module.exports = {
apps: [
{
name: "nome-aplicacao",
script: "./server.js",
autorestart: true,
},
],
};
Explicación de los Campos:
- name: Nombre del proceso de la aplicación.
- script: Archivo de entrada de la aplicación (por ejemplo, server.js).
🔒 Asegúrese de liberar en el firewall el puerto que utiliza su aplicación para garantizar el correcto funcionamiento.
🔗 Para aprender sobre Gestión de Firewall, ¡haga clic aquí!
🧰 Comandos Útiles de PM2
-
pm2 start nombre-aplicacion: Inicia la aplicación.
-
pm2 stop nombre-aplicacion: Detiene la aplicación.
-
pm2 delete nombre-aplicacion: Elimina la aplicación de PM2.
-
pm2 restart nombre-aplicacion: Reinicia la aplicación.
-
pm2 reload nombre-aplicacion: Recarga la aplicación sin downtime.
-
pm2 start aplicacion.js -i max: Inicia la aplicación en modo clúster, utilizando todos los núcleos disponibles.
-
pm2 list: Lista todas las aplicaciones gestionadas por PM2.
-
pm2 monit: Muestra el monitoreo en tiempo real de las aplicaciones.
-
pm2 logs: Muestra los logs de las aplicaciones.
-
pm2 save: Guarda el estado actual de las aplicaciones para restauración futura.
💡 Recuerde almacenar su archivo package.json dentro del directorio de la variable $ROOT_DIR (por defecto, es /home/jelastic/ROOT), ya que la plataforma ejecutará el comando npm install para instalar las dependencias contenidas en su archivo (la variable de entorno $UPDATE_PACKAGES_ON_RESTART debe tener el valor true).