Recherche de site Web

4 Gestionnaires de processus pour Node.js applications sous Linux


Un gestionnaire de processus Node.js est un outil utile pour s’assurer 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 performance 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 paquets est particulièrement utile pour le déploiement de Node.js applications dans un environnement de production. Dans cet article, nous allons passer en revue quatre gestionnaires de processus pour Node.js gestion des applications dans un système Linux.

1. PM2

PM2 est un gestionnaire de processus de production open source, avancé, riche en fonctionnalités, multiplateforme et le plus populaire pour les Node.js avec un équilibreur de charge intégré. Il vous permet de répertorier, 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 processeur) 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).

Les logs applicatifs sont toujours clés dans un environnement de production, à cet égard PM2 vous permet de gérer facilement les logs de votre application. Il fournit différentes méthodes et formats pour la gestion et l’affichage des journaux respectivement. Vous pouvez afficher les journaux en temps réel, les vider et les recharger si nécessaire.

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 des redémarrages attendus ou inattendus de la machine. 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 le module de rotation des journaux ou l’équilibrage de charge, et bien plus encore.

Enfin, si vous utilisez des conteneurs Docker, PM2 permet l’intégration de conteneurs et propose un système d’API qui vous permet de l’utiliser de manière programmatique.

2. StrongLoop PM

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

Il prend en charge la surveillance des applications (affichage des indicateurs de performance tels 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 les mises à niveau d’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 la prise en charge de Docker, vous permet d’exporter des mesures de performance vers des serveurs compatibles StatsD et de les afficher dans des consoles tierces telles que DataDog, Graphite, Splunk ainsi que Syslog et les fichiers journaux bruts.

3. Pour toujours

Forever est un outil d’interface en ligne de commande open-source, simple et configurable permettant d’exécuter un script donné en continu (forever). Il est adapté à l’exécution de déploiements plus petits d’applications et de scripts Node.js. Vous pouvez l’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, arrêter tout, redémarrer, redémarrer tout, etc.) Node.js processus et prend en charge la surveillance des modifications de fichiers, le mode de débogage, les journaux d’application, l’arrêt d’un processus et la personnalisation du signal de sortie, et bien plus encore. De plus, il prend en charge plusieurs options d’utilisation que vous pouvez passer directement à partir de la ligne de commande ou les passer dans un fichier JSON.

4. SystemD – Gestionnaire de services et de systèmes

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 unité. Il existe différents types d’unités, notamment le service, l’appareil, la prise, le support, la cible et bien d’autres unités.

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 d’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, l’activer pour qu’il démarre automatiquement au démarrage du système, vérifier son état, redémarrer (l’arrêter et le redémarrer) ou recharger sa configuration, et même l’arrêter 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 paquets 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 passé en revue quatre gestionnaires de paquets pour Node.js. Si vous avez des ajouts ou des questions à poser, utilisez le formulaire de commentaires ci-dessous pour nous joindre.

Articles connexes: