Cómo Instalar y Configurar PM2 para Gestionar Aplicaciones Node.js
Aprende a instalar y configurar PM2 en Ubuntu para gestionar y monitorear tus aplicaciones Node.js de forma eficiente. Sigue esta guía paso a paso para mantener tus procesos en producción.
En este post aprenderemos cómo instalar y configurar PM2 en Ubuntu. Comenzaremos con una introducción para entender qué es PM2 y sus principales funciones. Luego, realizaremos la instalación de Node.js utilizando NodeSource o NVM, seguido de la instalación de PM2. Finalmente, crearemos una pequeña aplicación en Node.js para probar el funcionamiento de PM2.
Introducción
PM2 es una herramienta indispensable para desarrolladores Node.js que buscan garantizar la estabilidad, el rendimiento y la escalabilidad de sus aplicaciones en entornos de producción.
Funciones principales:
- Ejecución y gestión de aplicaciones: Inicia, detiene y reinicia aplicaciones Node.js de forma sencilla.
- Monitoreo: Supervisa constantemente el estado de las aplicaciones y los recursos del sistema.
- Reinicio automático: Reacciona ante fallas y reinicia las aplicaciones para garantizar la continuidad del servicio.
Características destacadas:
- Clustering: Permite ejecutar múltiples instancias de una aplicación en diferentes núcleos de CPU, mejorando el rendimiento.
- Monitoreo de recursos: Proporciona información detallada sobre el uso de memoria y CPU.
- Gestión de logs: Centraliza los registros de las aplicaciones para facilitar la depuración.
Beneficios clave:
- Fiabilidad: Asegura la disponibilidad continua de las aplicaciones.
- Rendimiento: Optimiza el uso de los recursos del servidor.
- Facilidad de uso: Simplifica la gestión de aplicaciones Node.js en producción.
Instalación de PM2 en Ubuntu
Para trabajar con PM2, es necesario tener Node.js instalado. A continuación, te presento dos opciones para instalar Node.js.
Instalación desde nvm
Para mas detalle puede consultar Cómo instalar y usar NVM para gestionar versiones de Node.js en Ubuntu y Windows
Instalación desde node source
Antes de instalar cualquier paquete, es importante asegurarnos de que nuestro sistema esté actualizado. Para ello, ejecuta los siguientes comandos en tu terminal:
sudo apt update sudo apt upgrade
Instalar Node.js y NPM: Para instalar la versión 18 de Node.js, puedes ejecutar los siguientes comandos:
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt install -y nodejs
Después de la instalación, verifica las versiones de Node.js y NPM para asegurarte de que están correctamente instaladas:
node -v npm -v
Instalar PM2
Una vez que tienes Node.js y NPM instalados, puedes proceder a instalar PM2 globalmente con el siguiente comando:
npm install pm2@latest -g
Para verificar que PM2 se ha instalado correctamente, usa el comando:
pm2 -v
Crear app Node.js de prueba
Inicializa un proyecto Node.js
npm init -y
Esto generará un archivo package.json
con la configuración predeterminada.
Instala Express (un framework minimalista para Node.js)
npm install express
Crea el archivo principal index.js,
En el directorio de tu proyecto, crea un archivo llamado index.js
con el siguiente contenido:
const express = require('express');
const app = express();
const port = 3000;
// Ruta principal que responde con "Hello World"
app.get('/', (req, res) => {
res.send('Hello World from PM2 App!');
});
// Inicia el servidor
app.listen(port, () => {
console.log(`App listening at http://localhost:${port}`);
});
Ejecuta la aplicación con PM2
Nota: en un futuro post, explicaremos a detalle cada uno de los siguientes comandos, por el momento seguir el paso a paso para ejecutar la primera aplicacion.
Una vez que hayas configurado tu archivo app.js
, puedes iniciar la aplicación usando PM2:
pm2 start app.js
Este comando iniciará la aplicación bajo la gestión de PM2. Si todo ha ido bien, deberías ver algo como esto:
[PM2] Starting /path/to/app.js in fork_mode (1 instance) [PM2] Done.
Verifica que la aplicación está en ejecución, puedes verificar el estado de la aplicación con el siguiente comando:
pm2 list
Deberías ver tu aplicación en la lista con un estado de "online".
Accede a la aplicación, abre tu navegador y visita:
curl http://localhost:3000
Verás el mensaje: "Hello World from PM2 App!"
Monitorea la aplicación, puedes monitorear el rendimiento y uso de recursos de la aplicación en tiempo real con:
pm2 monit
Conclusión
PM2 es una herramienta esencial para cualquier desarrollador que gestione aplicaciones Node.js en producción. Su capacidad de mantener aplicaciones activas, optimizar el uso de recursos mediante el clustering, y proporcionar un monitoreo completo en tiempo real, lo convierte en la opción preferida para entornos de alta disponibilidad. Siguiendo esta guía, habrás aprendido cómo instalar y configurar PM2 en Ubuntu, asegurando que tus aplicaciones Node.js funcionen de manera eficiente y sin interrupciones.