Contáctanos
Webflow Premium Partner Ehab Fayez
Volver a Agent Skills
DevOps e Infraestructura

PM2 Process Manager

Gestiona aplicaciones Node.js en produccion con clustering PM2, recargas sin tiempo de inactividad, gestion de logs y configuracion de ecosistema.

Claude Code Codex Cursor Gemini CLI

Descripción General

PM2 es el gestor de procesos estandar de facto para aplicaciones Node.js en produccion. Maneja clustering entre nucleos de CPU, recargas sin tiempo de inactividad, reinicios automaticos tras fallos, gestion de logs y generacion de scripts de inicio. Los agentes de IA pueden generar archivos de configuracion de ecosistema sofisticados, solucionar fugas de memoria y optimizar configuraciones de cluster basadas en los recursos de tu servidor.

Los agentes de IA son particularmente efectivos con PM2 porque su archivo ecosystem.config.js es JavaScript estandar. El agente puede generar configuraciones multi-aplicacion con variables de entorno especificas, configurar rotacion de logs, ajustar el modo cluster con el numero correcto de instancias para tu servidor, y crear flujos de despliegue que hacen pull de git y reinician graciosamente.

Los patrones avanzados de PM2 incluyen despliegues blue-green, modo watch con patrones de exclusion para desarrollo, reinicios basados en limites de memoria, e integracion con herramientas de monitoreo. Tu agente de IA puede implementar todos estos patrones y ayudarte a hacer la transicion de un simple `node app.js` a un despliegue de produccion completo.

¿Para Quién Es?

  • Desarrolladores Node.js desplegando aplicaciones con recargas sin tiempo de inactividad
  • Ingenieros DevOps configurando PM2 cluster mode entre multiples nucleos de CPU
  • Equipos creando archivos ecosystem de PM2 con configuraciones especificas por entorno
  • Administradores de sistemas solucionando fugas de memoria con monitoreo de PM2

Instalación

Configurar Claude Code
npm install -g pm2
Claude Code generates ecosystem.config.js and runs pm2 commands directly

Configuración

// ecosystem.config.cjs
module.exports = {
  apps: [{
    name: "my-app",
    script: "./dist/server/entry.mjs",
    instances: "max",
    exec_mode: "cluster",
    env: { NODE_ENV: "production", PORT: 4321 },
    max_memory_restart: "500M",
    log_date_format: "YYYY-MM-DD HH:mm:ss",
  }],
};