Cómo instalar y configurar PM2 en servidores Linux
La implementación es una de las etapas más cruciales y concluyentes del desarrollo de software. Una estrategia de implementación adecuada es vital para brindar la mejor experiencia a sus usuarios mientras utiliza sus servicios de manera eficiente. Sin embargo, este proceso también trae consigo su propio conjunto de desafíos.
Node.js, el tiempo de ejecución de JavaScript de código abierto, es una opción popular para construir la infraestructura de backend de su aplicación al permitirle ejecutar JavaScript fuera de los navegadores web. Pero, ¿qué pasa si su aplicación Node.js falla en producción? Descubra cómo puede evitar estos escenarios en este artículo.
¿Qué es PM2 y por qué lo necesita?
PM2 es un administrador de procesos demonio que le permite mantener las aplicaciones Node.js vivas para siempre, recargarlas sin tiempo de inactividad, administrar el registro, la supervisión y la agrupación en clústeres de las aplicaciones.
Imagine que su servidor web Node.js se bloquea debido a algún error de tiempo de ejecución. Sin usar algo como PM2, tendría que rastrear manualmente el estado de su aplicación periódicamente y reiniciarla cada vez que se apaga. PM2 lo ayuda a automatizar este proceso y mantiene su solicitud en línea las 24 horas del día, los 7 días de la semana, incluso si las cosas salen mal.
Instalación de PM2 en servidores Linux
Antes de que pueda instalar PM2, asegúrese de tener Node.js y NPM instalados en su servidor Linux para descargar el paquete PM2 de los repositorios de Node Package Manager .
Una vez que tenga Node.js en funcionamiento en su servidor, instale PM2 ejecutando este comando:
npm install -g pm2
Producción:
El indicador -g en el comando anterior significa Global y le permite usar PM2 en todas sus aplicaciones Node.js. Es posible que deba agregar sudo al comienzo del comando, según los permisos que tenga su cuenta de usuario.
Ejecución de aplicaciones de nodo con PM2
Una vez que se complete el proceso de instalación, navegue hasta el directorio donde reside su aplicación Node.js usando el comando cd . Dentro del directorio del proyecto, puede ejecutar un archivo JavaScript usando PM2 con el comando que se proporciona a continuación:
pm2 start filename.js
Por ejemplo, si el punto de entrada a su aplicación Node.js reside dentro del archivo index.js , así es como puede ejecutar el archivo:
pm2 start index.js
En caso de que necesite realizar cambios en su aplicación, puede hacerlo usando un editor de texto de línea de comandos para editar el código y luego reiniciar su instancia de aplicación PM2 con este comando:
pm2 restart filename.js
Para cerrar completamente la aplicación en su lugar, use este comando:
pm2 stop filename.js
En lugar de ejecutar un solo archivo con PM2, también puede ejecutar scripts de NPM presentes dentro del archivo package.json de su aplicación Node.js. Por ejemplo, si desea ejecutar el script de inicio , estructure el comando de esta manera:
pm2 start npm --name <app_name> -- start
Visualización de registros y estadísticas
Para monitorear los errores que pueden surgir durante el tiempo de ejecución, PM2 le brinda una opción para verificar los registros que genera su aplicación. Así es como puede verlos:
pm2 logs <app_name>
Para monitorear todos los procesos que se están ejecutando actualmente, PM2 viene con un práctico panel de control basado en terminal para observar el uso de la CPU y la RAM, al que puede acceder con este comando:
pm2 monit
Para ver el resto de los detalles y metadatos, como la versión de la aplicación, el número de reinicios, el tiempo de actividad, los argumentos del script y más:
pm2 show <app_name>
Implemente aplicaciones de Node.js en producción con facilidad
El uso de un administrador de procesos como PM2 puede reducir enormemente la sobrecarga de tener que monitorear constantemente el estado y el tiempo de actividad de su aplicación Node.js. Con su equilibrador de carga integrado, puede esperar un mayor rendimiento y confiabilidad para sus servicios.
Hablando de implementación, lo más probable es que use una máquina virtual Linux para implementar aplicaciones en la nube. ¿No estás seguro de cómo podrías hacer eso? Aquí hay una guía para comenzar con las máquinas virtuales en Azure.