Saltar al contenido principal

🚀 ¿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

  1. Gestión Simplificada de Procesos: Con comandos simples como pm2 start, pm2 stop, pm2 restart y pm2 delete, puede controlar fácilmente los procesos de su aplicación.

  2. 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.

  3. Gestión Centralizada de Logs: Visualice y analice los logs de su aplicación de forma consolidada con el comando pm2 logs.

  4. Despliegues Sin Downtime: Actualice su aplicación sin interrupciones utilizando el comando pm2 reload, garantizando una experiencia continua para los usuarios.

  5. 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.

PM2 Topologia

2️⃣ - Configurando PM2 vía Variables de Entorno

Si ya tiene un entorno en ejecución, es posible configurar PM2 utilizando variables de entorno.

Variáveis de Ambiente - Parte 1

Variáveis de Ambiente - Parte 2


📄 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).
aviso

🔒 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.

info

💡 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).


ℹ️ Enlaces útiles