Cómo mantener tus apps activas en producción
¿Qué es PM2 y por qué lo necesito?
PM2 (Process Manager 2) es como tu "cuidador de plantas" personal. Su misión principal es asegurarse de que tus aplicaciones Node.js (o Python, PHP, Ruby, etc.) estén:
- Siempre corriendo: Si tu app se cae por algún error, PM2 la levanta automáticamente. ¡Es un reinicio instantáneo!
- Corriendo en segundo plano: No necesitás tener una ventana de terminal abierta. Una vez que PM2 inicia tu app, podés cerrar la terminal y ella seguirá funcionando.
- Optimizadas: PM2 puede hacer que tu app use todos los núcleos de tu procesador, lo que la hace más eficiente y rápida.
En resumen, PM2 se encarga de que tu aplicación sea robusta, que esté disponible 24/7 y que aproveche al máximo los recursos de tu servidor. ¡Es indispensable para llevar una app de desarrollo a producción!
Lo básico de PM2: Instalación y tu primera app
¡Vamos a ensuciarnos las manos! Lo primero es instalar PM2. Como es una herramienta de Node.js, la instalamos globalmente con npm
(o yarn
):
npm install pm2 -g
Una ves tengas tu aplicacion node js o de cualquier otro lenguaje, vamos a la carpeta en donde esta ubicada y ponemos :
pm2 start nombre de tu aplicacion.js ejemplo app.js
ahora tu aplicacion app.js esta corriendo en segundo plano y no se detendra aunque salgas de la vps.
Para ver los procesos que esta manejando pm2 usamos:
pm2 list #para ver todos
o
pm2 status #para ver el estado de pm2
tambien podemos usar
pm2 status app #para ver solo el estado de esa aplicacion
Otros comandos :
#funciones de borrar
pm2 delete app # Detiene y elimina la app llamada 'app'
pm2 delete 0 # Detiene y elimina la app con ID 0
pm2 delete all # ¡Cuidado! Detiene y elimina TODAS las apps gestionadas por PM2
#funciones de logs
pm2 logs app # Muestra los últimos logs de la app 'app'
pm2 logs 0 # Muestra los últimos logs de la app con ID 0
pm2 logs # Muestra los logs de TODAS las apps
pm2 logs --follow # O su forma corta: pm2 logs -f
pm2 logs app --lines 100 # Muestra las últimas 100 líneas del log de 'app'
#funciones de guardado
pm2 save #guarda la configuracion de pm2 en caso de que reinicies tu servidor
#funciones de ayuda
pm2 startup #te da instrucciones especificas para cada sistema operativo