Tutoriales de Informática y Dispositivos Móviles
Tutoriales de Informática y Dispositivos Móviles
NodeJs con PM2

Desplegar aplicación NodeJs con PM2

Desplegar aplicación NodeJs con PM2

En el siguiente tutorial vamos a aprender cómo utilizar el gestor de procesos PM2

¿Qué es PM2?

PM2 es una aplicación que permite gestionar el despliegue de aplicaciones NodeJs y Python y su control en tiempo real. Es gratuito y de código abierto y dispone de un equilibrador de carga.

Reinicia automáticamente cualquier proceso que esté gestionando si deja de funcionar.

Las aplicaciones desplegadas con PM2 aplican los cambios en caliente, es decir, detecta los cambios realizados y los aplica automáticamente sin necesidad de reiniciar la aplicación.

¿Qué podemos hacer con PM2?

  • Iniciar, parar o reiniciar el despliegue de una aplicación NodeJs
  • Monitorizar estado, consumos y logs de cada aplicación desplegada
  • Despliegue en modo cluster
  • Gestionar varias aplicaciones desde un mismo lugar

Requisitos

Para poder instalar PM2 es necesario tener instalado NodeJs y el gestor de paquetes NPM

Ver Instalar NodeJs y NPM en Windows 10

Ver Instalar NodeJs y NPM en Ubuntu

Instalación de PM2

Desde la consola podemos instalar fácilmente PM2 con el siguiente comando

npm i -g pm2

Para comprobar que todo ha ido bien y ver la versión instalada

pm2 -v

Debería verse algo como

Actualización de PM2

Para actualizar a la última versión usaremos lo siguiente

pm2 update

Iniciar aplicación NodeJs

Para desplegar una aplicación tenemos que ir a su ruta y ejecutar el comando

pm2 start nombreAplicacion.js

Debería mostrar el estado

Iniciar en modo Cluster

La aplicación se iniciará en modo de alta disponibilidad (HA) co clúster, lo que incluirá balanceos de carga entre los demás procesos iniciados.

Para inciar la aplicación en modo cluster ejecutamos

pm2 start nombreAplicacion.js -i 2

Listar estados de aplicaciones

Para el estado de todas las aplicaciones desplegadas con pm2

pm2 list

Debería mostrar las 2 aplicaciones que tenemos actualmente desplegadas. La aplicación con id 0 (pruebaNodeJs) y la de id 1 (pruebaNodeJs2)

Reiniciar aplicación

Para reiniciar una aplicación usaremos el siguiente comando

pm2 restart pruebaNodeJs

También podemos indicar el id una vez que ya está en la lista.

pm2 restart 0

Logs

Para ver la información de los logs de PM2 podemos hacerlo con el siguiente comando. Nos mostrará los logs en tiempo real. Para parar pulsaremos Ctrl + c

pm2 logs

Para eliminar todos los logs usaremos lo siguiente

pm2 flush

Monitorizar estados

Para monitorizar el estado de todas las aplicaciones desplegadas

pm2 monit

Veremos un dashboard como el siguiente donde podremos ver lo que está pasando en cada una de las aplicaciones desplegadas

Si queremos cerrar el dashboard pulsaremos Ctrl + C

Más información

Para obtener un poco más de información sobre una aplicación desplegada haremos lo siguiente. En este caso tenemos que utilizar el id

pm2 show 0

Veremos algo como lo siguiente

Más comandos de PM2

Eliminar un proceso. Se debe indicar la id del proceso

pm2 delete 0

Eliminar todos los procesos

pm2 delete all

Parar un proceso. Se debe indicar la id del proceso

pm2 stop 0

Parar todos los procesos

pm2 stop all

Reiciciar un proceso. Se debe indicar la id del proceso

pm2 restart 0

Reiniciar todos los procesos

pm2 restart all

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Translate »
A %d blogueros les gusta esto: