Recherche de site Web

4 gestionnaires de processus pour les applications Node.js sous Linux


Un gestionnaire de processus Node.js est un outil utile pour garantir qu'un processus ou un script Node.js s'exécute en continu (pour toujours) et peut lui permettre de démarrer automatiquement au démarrage du système. .

Il vous permet de surveiller les services en cours d'exécution et facilite les tâches courantes d'administration du système (telles que le redémarrage en cas de panne, l'arrêt, le rechargement des configurations sans temps d'arrêt, la modification des variables/paramètres d'environnement, l'affichage des mesures de performances et bien plus encore). Il prend également en charge la journalisation des applications, le clustering et l'équilibrage de charge, ainsi que de nombreuses autres fonctionnalités utiles de gestion des processus.

Lire aussi : 14 meilleurs frameworks NodeJS pour les développeurs en 2019

Un gestionnaire de packages est particulièrement utile pour le déploiement d'applications Node.js dans un environnement de production. Dans cet article, nous passerons en revue quatre gestionnaires de processus pour la gestion des applications Node.js dans un système Linux.

1. PM2

PM2 est un gestionnaire de processus de niveau production open source, avancé, riche en fonctionnalités, multiplateforme et le plus populaire pour Node.js avec un équilibreur de charge intégré. Il vous permet de lister, de surveiller et d'agir sur tous les processus Nodejs lancés, et il prend en charge le mode cluster.

Il prend en charge la surveillance des applications : offre un moyen simple de surveiller l'utilisation des ressources (mémoire et CPU) de votre application. Il prend en charge votre flux de travail de gestion de processus en vous permettant de configurer et d'ajuster le comportement de chaque application via un fichier de processus (les formats pris en charge incluent Javascript, JSON et YAML<. /fort>).

Les journaux d'application sont toujours essentiels dans un environnement de production, à cet égard, PM2 vous permet de gérer facilement les journaux de votre application. Il propose différentes manières et formats pour gérer et afficher les journaux respectivement. Vous pouvez afficher les journaux en temps réel, les vider et les recharger en cas de besoin.

Il est important de noter que PM2 prend en charge les scripts de démarrage que vous pouvez configurer pour démarrer automatiquement vos processus lors de redémarrages de machine attendus ou inattendus. Il prend également en charge le redémarrage automatique d'une application lorsqu'un fichier est modifié dans le répertoire courant ou ses sous-répertoires.

De plus, PM2 est livré avec un système de modules qui permet aux utilisateurs de créer des modules personnalisés pour la gestion des processus Nodejs. Par exemple, vous pouvez créer un module pour la rotation des journaux ou l'équilibrage de charge, et bien plus encore.

Enfin et surtout, si vous utilisez des conteneurs Docker, PM2 permet l'intégration de conteneurs et propose un système API qui vous permet de l'utiliser par programme.

2. StrongLoop PM

StrongLoop PM est également un gestionnaire de processus de production avancé et open source pour les applications Node.js avec un équilibrage de charge intégré, tout comme PM2 et il peut être utilisé via une commande. ligne ou une interface graphique.

Il prend en charge la surveillance des applications (afficher les mesures de performances telles que les temps de boucle d'événements, la consommation du processeur et de la mémoire), le déploiement multi-hôtes, le mode cluster, les redémarrages et mises à niveau des applications sans temps d'arrêt, le redémarrage automatique des processus en cas d'échec, ainsi que l'agrégation et la gestion des journaux.

De plus, il est livré avec le support Docker, vous permet d'exporter des mesures de performances vers des serveurs compatibles StatsD et de les afficher dans des consoles tierces telles que DataDog, Graphite<., Splunk ainsi que les fichiers Syslog et journaux bruts.

3. Pour toujours

Forever est un outil d'interface de ligne de commande open source, simple et configurable pour exécuter un script donné en continu (pour toujours). Il convient à l’exécution de petits déploiements d’applications et de scripts Node.js. Vous pouvez utiliser forever de deux manières : via la ligne de commande ou en l'intégrant dans votre code.

Il vous permet de gérer (démarrer, lister, arrêter, tout arrêter, redémarrer, tout redémarrer, etc.) les processus Node.js et prend en charge la surveillance des modifications de fichiers, le mode débogage, les journaux d'application, la suppression d'une personnalisation du processus et du signal de sortie, et bien plus encore. De plus, il prend en charge plusieurs options d'utilisation que vous pouvez transmettre directement depuis la ligne de commande ou les transmettre dans un fichier JSON.

4. SystemD – Gestionnaire de services et système

Sous Linux, Systemd est un démon qui gère les ressources système telles que les processus et autres composants du système de fichiers. Toute ressource gérée par systemd est appelée une unité. Il existe différents types d'unités, notamment les unités de service, de périphérique, de socket, de monture, de cible et bien d'autres.

Systemd gère les unités via un fichier de configuration appelé fichier d'unité. Par conséquent, afin de gérer votre serveur Node.js comme n'importe quel autre service système, vous devez créer pour celui-ci un fichier unité, qui dans ce cas sera un fichier de service.

Une fois que vous avez créé un fichier de service pour votre serveur Node.js, vous pouvez le démarrer, lui permettre de démarrer automatiquement au démarrage du système, vérifier son état, le redémarrer (l'arrêter et le redémarrer). ou rechargez sa configuration, et même arrêtez-la comme n'importe quel autre service systemd.

Pour plus d'informations, consultez : Comment créer et exécuter de nouvelles unités de service dans Systemd à l'aide d'un script Shell.

Résumé

Un gestionnaire de packages Node.js est un outil utile pour déployer votre projet dans un environnement de production. Il maintient une application en vie pour toujours et simplifie la façon dont vous pouvez la contrôler. Dans cet article, nous avons examiné quatre gestionnaires de packages pour Node.js. Si vous avez des ajouts ou des questions à poser, utilisez le formulaire de commentaires ci-dessous pour nous contacter.