Cómo instalar Node.js y Pm2 en Ubuntu
Node.js es un popular tiempo de ejecución de JavaScript que le permite ejecutar JavaScript del lado del servidor. PM2 es un gestor de procesos para Node.js que ayuda a administrar sus aplicaciones, asegurando que se ejecuten sin problemas, reiniciar automáticamente en caso de accidentes, y permitir una fácil gestión de múltiples aplicaciones. Esta guía le guiará a través de la instalación de Node.js y PM2 en un sistema Ubuntu.
Prerrequisitos
- Versión de Ubuntu: Esta guía funciona con Ubuntu 20.04, 22.04 o posterior.
- Privilegios de usuario: Necesitas acceso sudo o root para instalar y configurar software en tu servidor.
Paso 1: Actualizar los paquetes del sistema
Antes de empezar, asegúrese de que los paquetes de su sistema están actualizados:
sudo apt update
sudo apt upgrade -y
Paso 2: Instalar Node.js
Hay múltiples formas de instalar Node.js en Ubuntu. Los métodos más recomendados son usar NodeSource o nvm (Node Version Manager).
Método 1: Instalar Node.js usando NodeSource
- Añade el repositorio NodeSource:Para instalar la última versión LTS (Long-Term Support) de Node.js, utiliza los siguientes comandos:
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
Este script añadirá el repositorio NodeSource a tu sistema y actualizará la lista de paquetes.
- Instala Node.js:
sudo apt install nodejs -y
Este comando instala tanto Node.js como
(Node Package Manager).npm
- Verifique la instalación:Compruebe si Node.js y npm se instalaron correctamente ejecutando:
node -v
npm -v
Estos comandos deberían mostrar los números de versión de Node.js y npm.
Método 2: Instalar Node.js usando NVM
Usar nvm te permite gestionar múltiples versiones de Node.js en la misma máquina.
- Instalar NVM:Descarga e instala nvm usando el script de instalación:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
(Nota: Sustituye
por la última versión si es necesario).v0.39.5
- Recargar la configuración del shell:Después de instalar nvm, es necesario recargar la configuración del shell:
source ~/.bashrc
- Instalar Node.js con NVM:Para instalar la última versión LTS de Node.js:
nvm install --lts
- Verifique la instalación de Node.js y npm:
node -v
npm -v
Paso 3: Instalar PM2
PM2 es un gestor de procesos Node.js que le permite administrar sus aplicaciones Node.js con facilidad.
- Instalar PM2 globalmente:Utilice npm para instalar PM2 globalmente:
sudo npm install -g pm2
- Verifique la instalación de PM2:Compruebe que PM2 se ha instalado correctamente ejecutando:
pm2 -v
Este comando debería mostrar el número de versión de PM2.
Paso 4: Uso de PM2 para gestionar aplicaciones Node.js
Una vez instalado PM2, puede usarlo para ejecutar y administrar sus aplicaciones Node.js.
- Iniciar una aplicación Node.js:Navegue hasta el directorio de su aplicación Node.js y utilice PM2 para iniciarla:
pm2 start app.js
Sustituya
s por el punto de entrada de su aplicación.app.j
- Ver procesos en ejecución:Para ver todos los procesos gestionados por PM2, ejecute:
pm2 list
Esto mostrará una lista de todas las aplicaciones en ejecución junto con sus estados y otros detalles.
- Permite reiniciar, detener y eliminar aplicaciones:
- Reiniciar una aplicación:
pm2 restart app
- Detener una aplicación:
pm2 stop app
- Borrar una Aplicación:
pm2 delete app
Sustituya
por el nombre o ID de su aplicación.app
- Reiniciar una aplicación:
- Monitorizar Registros:Para ver los registros de todas sus aplicaciones PM2, utilice:
pm2 logs
Para ver los registros de una aplicación específica:
pm2 logs aplicación
Paso 5: Configurar PM2 para que se inicie al arrancar
Para asegurarse de que PM2 se inicie automáticamente cada vez que se reinicie su servidor, utilice el siguiente comando:
pm2 startup
Este comando mostrará un comando que debe ejecutar con sudo para configurar el script de inicio. Copie y pegue ese comando en su terminal.
Después de ejecutar el comando, guarda la lista de procesos actuales para asegurarte de que tus aplicaciones se inician al reiniciar:
pm2 save
Esto guarda la lista de aplicaciones actualmente gestionadas por PM2, y las reiniciará automáticamente cuando el servidor se reinicie.
Paso 6: Despliegue de aplicaciones con PM2
PM2 también se puede utilizar para despliegues sin tiempo de inactividad utilizando una función llamada archivos de ecosistema. He aquí cómo configurar un simple archivo ecosystem.config.js:
- Crear el archivo de ecosistema:
ecosistema pm2
Esto genera un archivo llamado ecosystem.config.js con una configuración básica.
- Edite el archivo ecosystem:Abra el archivo ecosystem.config.js y configúrelo con los detalles de su aplicación:
module.exports = {
apps: [
{
nombre: 'mi-aplicación',
script: 'app.js',
instancias: 2,
exec_mode: 'cluster',
env: {
NODE_ENV: 'desarrollo'
},
env_production: {
NODE_ENV: 'producción
}
}
]
};
Este ejemplo ejecuta tu aplicación como un cluster con 2 instancias, lo que puede aprovechar los procesadores multi-core.
- Iniciar aplicaciones utilizando el archivo del ecosistema:Para iniciar sus aplicaciones utilizando el archivo del ecosistema:
pm2 start ecosystem.config.js --env production
Paso 7: Actualizar Node.js y PM2
Para actualizar Node.js, utilice nvm si lo instaló utilizando ese método, o ejecute de nuevo el script de instalación de NodeSource si utilizó ese método.
Para actualizar PM2:
sudo npm install -g pm2@latest
pm2 update
Conclusión
Ahora ha instalado con éxito Node.js y PM2 en Ubuntu, y ha aprendido a utilizar PM2 para gestionar sus aplicaciones Node.js. PM2 simplifica la gestión de procesos reiniciando automáticamente sus aplicaciones si se bloquean y facilitando los despliegues. Con esta configuración, puedes asegurarte de que tus aplicaciones Node.js se ejecutan sin problemas y están listas para la producción. ¡Feliz programación!