4 gerentes de procesos para nodo.Aplicaciones JS en Linux

4 gerentes de procesos para nodo.Aplicaciones JS en Linux

A Nodo.Administrador de procesos JS es una herramienta útil para garantizar que un Nodo.js El proceso o el script se ejecuta continuamente (para siempre) y puede permitirle iniciar automáticamente en el arranque del sistema.

Le permite monitorear los servicios en ejecución y facilita las tareas comunes de administración del sistema (como reiniciar la falla, detener, recargar configuraciones sin tiempo de inactividad, modificar las variables/configuraciones de entorno, mostrar métricas de rendimiento y mucho más). También admite registro de aplicaciones, clúster y equilibrio de carga, y muchas otras características útiles de gestión de procesos.

Leer también: 14 mejores marcos de NodeJS para desarrolladores en 2019

Un administrador de paquetes es útil especialmente para la implementación de Nodo.js Aplicaciones en un entorno de producción. En este artículo, revisaremos cuatro gerentes de procesos para Nodo.js Gestión de aplicaciones en un sistema Linux.

1. PM2

PM2 es un administrador de procesos de nivel abierto, avanzado, rico en funciones, multiplataforma y el administrador de procesos de nivel de producción más popular para Nodo.js con un equilibrador de carga incorporado. Le permite enumerar, monitorear y actuar en todos los lanzados Nodejs procesa y admite el modo de clúster.

Instale PM2 para ejecutar aplicaciones NodeJS en Linux

Admite el monitoreo de aplicaciones: ofrece una forma simple de monitorear el uso de recursos (memoria y CPU) de su aplicación. Admite su flujo de trabajo de administración de procesos al permitirle configurar y ajustar el comportamiento de cada aplicación a través de un archivo de proceso (los formatos compatibles incluyen Javascript, Json, y Yaml).

Los registros de aplicaciones siempre son clave en un entorno de producción, a este respecto PM2 le permite administrar fácilmente los registros de su aplicación. Proporciona diferentes formas y formatos para manejar y mostrar registros respectivamente. Puede mostrar registros en tiempo real, enjuagarlos y recargarlos cuando sea necesario.

En tono rimbombante, PM2 admite scripts de inicio que puede configurar para iniciar automáticamente sus procesos en reiniciar la máquina esperada o inesperada. También es compatible con el inicio automático de una aplicación cuando un archivo se modifica en el directorio actual o en sus subdirectorios.

Además, PM2 Viene con un sistema de módulos que permite a los usuarios crear módulos personalizados para la administración de procesos de NodeJS. Por ejemplo, puede crear un módulo para el módulo de rotación de registro o equilibrio de carga, y mucho más.

Por último, pero no menos importante, si está utilizando contenedores Docker, PM2 permite la integración de contenedores y ofrece un sistema API que le permite usarlo programáticamente.

2. PM Strongloop

Strongloop PM también es un administrador de procesos de producción avanzado y de código abierto para Nodo.js Aplicaciones con equilibrio de carga incorporado como PM2 y se puede usar a través de una línea de comandos o una interfaz gráfica.

Strongloop PM Manager de proceso para NodeJS

Admite el monitoreo de la aplicación (ver las métricas de rendimiento, como los tiempos de bucle de eventos, la CPU y el consumo de memoria), la implementación de múltiples host, el modo de clúster, los reinicios y actualizaciones de la aplicación de tiempo cero hacia abajo, el proceso automático de reinicio de la falla y la agregación de registros y la gestión de la gestión.

Además, se envía con Estibador Soporte, le permite exportar métricas de rendimiento a servidores compatibles con STATSD, y ver en consolas de terceros como Datadog, Grafito, Splunk y archivos de registro de Syslog y Raw.

3. Para siempre

Forever es una herramienta de interfaz de línea de comandos de código abierto, simple y configurable para ejecutar un script dado continuamente (para siempre). Es adecuado para ejecutar implementaciones más pequeñas de Nodo.js aplicaciones y scripts. Puedes usar para siempre de dos maneras: a través de la línea de comandos o incrustándola en su código.

Ejecutar guiones para siempre continuamente

Le permite administrar (comenzar, enumerar, detener, detener todo, reiniciar, reiniciar todo, etc.) Nodo.js procesos e TI admite observar cambios de archivos, modo de depuración, registros de aplicaciones, asesinato de un proceso y personalización de señal de salida, y mucho más. Además, admite varias opciones de uso que puede pasar directamente desde la línea de comandos o pases en un archivo JSON.

4. Systemd - Servicio y administrador de sistemas

En Linux, Systemd es un demonio que administra los recursos del sistema, como procesos y otros componentes del sistema de archivos. Cualquier recurso administrado por system se conoce como un unidad. Hay diferentes tipos de unidades incluyendo servicio, dispositivo, enchufe, montaje, destino y muchas otras unidades.

System administra unidades a través de un archivo de configuración conocido como unidad archivo. Por lo tanto, para administrar su Nodo.js servidor como cualquier otro servicio del sistema, debe crear para TI un archivo unitario, que en este caso será un archivo de servicio.

Una vez que haya creado un archivo de servicio para su Nodo.js servidor, puede iniciarlo, habilitarlo para iniciar automáticamente en la hora del arranque del sistema, verificar su estado, reiniciar (detener y comenzar nuevamente) o recargar su configuración, e incluso detenerlo como cualquier otro servicio Systemd.

Para obtener más información, consulte: Cómo crear y ejecutar nuevas unidades de servicio en Systemd usando script shell

Resumen

A Nodo.js Package Manager es una herramienta útil para implementar su proyecto en un entorno de producción. Mantiene una aplicación viva para siempre y simplifica cómo puede controlarla. En este artículo, revisamos cuatro administradores de paquetes para Nodo.js. Si tiene alguna adición o pregunta que hacer, utilice el formulario de comentarios a continuación para comunicarse con nosotros.