Comment installer PM2 pour exécuter le nœud.Applications JS sur le serveur de production

Comment installer PM2 pour exécuter le nœud.Applications JS sur le serveur de production

PM2 est un gestionnaire de processus de production de la production avancé, avancé, efficace et multiplateforme pour Nœud.js avec un équilibreur de charge intégré. Il fonctionne sur Linux, macOS ainsi que Windows. Il prend en charge la surveillance des applications, la gestion efficace des micro-services / processus, l'exécution d'applications en mode cluster, le démarrage gracieux et l'arrêt des applications.

Il garde vos applications "vivant pour toujours«Avec des redémarrages automobiles et peut être autorisé à démarrer au démarrage du système, permettant ainsi La haute disponibilité (HA) Configurations ou architectures.

Notamment, PM2 vous permet d'exécuter vos applications dans mode de cluster sans apporter de modifications dans votre code (cela dépend également du nombre de cœurs de CPU sur votre serveur). Il vous permet également de gérer facilement les journaux d'applications, et bien plus.

De plus, il a également un soutien incroyable pour Major Nœud.js des cadres tels que Exprimer, Adonis JS, Voiles, Hapi Et plus, sans besoin de modifications de code. PM2 est utilisé par les entreprises telles que Ibm, Microsoft, Pay Pal, et plus.

Dans cet article, nous expliquerons comment installer et utiliser PM2 courir Nodejs Applications du serveur de production Linux. Nous allons créer une application pour démontrer certaines des fonctionnalités fondamentales de PM2 pour que vous puissiez démarrer avec.

Étape 1: Installez NodeJS et NPM dans Linux

1. Pour installer la version la plus récente de Nœud.js et NPM, Vous devez d'abord activer le référentiel officiel des nœuds de pouce sous votre distribution Linux, puis installer Nœud.js et NPM packages comme indiqué.

Sur Debian / Ubuntu

---------- Installer le nœud.JS V11.X ---------- $ curl -sl https: // deb.nœud.com / setup_11.X | sudo -e bash - $ sudo apt-get install -y nodejs ---------- Installer le nœud.JS V10.X ---------- $ curl -sl https: // deb.nœud.com / setup_10.X | sudo -e bash - $ sudo apt-get install -y nodejs 

Sur Centos / Rhel et Fedora

---------- Installer le nœud.JS V11.X ---------- $ curl -sl https: // rpm.nœud.com / setup_11.X | frapper - ---------- Installer le nœud.JS V10.X ---------- $ curl -sl https: // rpm.nœud.com / setup_10.X | frapper - 

Étape 2: Créez une application NodeJS

2. Maintenant, créons une application de test (nous supposerons qu'il a un côté client et administrateur qui partage la même base de données), les microservices s'exécuteront sur des ports 3000, et 3001 respectivement.

$ sudo mkdir -p / var / www / html / app $ sudo mkdir -p / var / www / html / adminside $ sudo vim / var / www / html / app / server.JS $ sudo vim / var / www / html / adminde / serveur.js 

Ensuite, copiez et collez les éléments de code suivants dans le serveur.js Fichiers (remplacer 192.168.43.31 avec votre serveur IP).

## code MainApp const http = requis ('http'); const hostname = '192.168.43.31 '; Port const = 3000; const Server = http.createServer ((req, res) => res.StatusCode = 200; res.Setheader («Content-Type», «Text / Plain»); res.fin ('Ceci est l'application principale!\ n '); ); serveur.écouter (port, nom d'hôte, () => console.log ('Server en cours d'exécution sur http: // $ hostname: $ port /'); ); ## Code d'administration const http = requis ('http'); const hostname = '192.168.43.31 '; Port const = 3001; const Server = http.createServer ((req, res) => res.StatusCode = 200; res.Setheader («Content-Type», «Text / Plain»); res.fin ('c'est le côté administrateur!\ n '); ); serveur.écouter (port, nom d'hôte, () => console.log ('Server en cours d'exécution sur http: // $ hostname: $ port /'); ); 

Enregistrer le fichier et quitter.

Étape 3: Installez PM2 Product Process Manager dans Linux

3. La dernière version stable de PM2 est disponible pour installer via NPM comme montré.

$ sudo npm i -g pm2 

4. Une fois PM2 Installé, vous pouvez démarrer vos applications de nœud à l'aide des commandes suivantes.

$ sudo nœud / var / www / html / app / server.JS $ sudo nœud / var / www / html / adminside / serveur.js 

Notez que, dans un environnement de production, vous devriez les commencer à utiliser PM2, Comme indiqué (vous n'avez peut-être pas besoin de la commande sudo si votre application est stockée à un emplacement où un utilisateur normal a lu et écrit des autorisations).

$ sudo pm2 start / var / www / html / app / serveur.JS $ sudo pm2 start / var / www / html / adminside / serveur.js 
Démarrer l'application Nodejs à l'aide de PM2

Étape 4: Comment utiliser et gérer PM2 dans Linux

5. Pour démarrer une application en mode cluster en utilisant le -je Indicateur pour spécifier le nombre d'instances, par exemple.

$ sudo pm2 start / var / www / html / app / serveur.JS -I 4 $ sudo pm2 échelle 0 8 #Scale Cluster App to 8 processus 

6. Pour répertorier toute votre application de nœud (processus / microservices), exécutez la commande suivante.

$ sudo pm2 
Liste toutes les applications de nœuds gérés PM2

7. Pour surveiller les journaux, les mesures personnalisées, les informations de processus de tous les processus en exécutant la commande suivante.

$ sudo pm2 monit 
Surveiller tous les processus de nœud

8. Pour afficher les détails d'un seul processus de nœud comme indiqué, en utilisant l'ID de processus ou le nom.

$ sudo pm2 show 0 
Afficher les détails de l'application unique

Étape 5: Comment gérer les applications de nœud à l'aide de PM2 dans Linux

9. Ce qui suit est une liste de certaines commandes de gestion de processus courantes (unique ou toutes) que vous devez prendre note de.

$ sudo pm2 stop toutes #stop toutes les applications $ sudo pm2 stop 0 #stop procédé avec id 0 $ sudo pm2 redémarrer tout #restart toutes les applications $ sudo pm2 réinitialiser 0 #reset tous les compteurs $ sudo pm2 supprimer tous #kill et supprimer toutes les applications $ Sudo PM2 Supprimer 1 #Kill et Supprimer l'application avec ID 1 

dix. Pour gérer les journaux des applications, utilisez les commandes suivantes.

$ sudo pm2 Journaux #View journaux pour tous les processus 

11. Pour gérer le processus PM2, utilisez les commandes suivantes.

$ sudo pm2 startup #Enable PM2 pour démarrer à la démarrage système $ sudo pm2 startup systemd #or spécifiez explicitement systemd en tant que système de démarrage $ sudo pm2 enregistrer #save la liste de processus actuelle sur le redémarrage PM2 Mise à jour #Update Pack PM2 

Étape 6: Accès aux applications de nœuds à partir du navigateur Web

12. Pour accéder à toute votre application Node à partir d'un navigateur Web distant, vous devez d'abord ouvrir les ports suivants sur le pare-feu de votre système, pour permettre aux connexions client aux applications comme indiqué.

-------- Debian et Ubuntu -------- $ sudo ufw permettre 3000 / tcp $ sudo ufw permettre 3001 / tcp $ sudo ufw rechargement -------- Rhel et Centos -------- # Firewall-CMD --permanent --add-port = 3000 / TCP # Firewall-CMD - Permanent --Add-Port = 3001 / TCP # Firewall-CMD - Reload 

13. Ensuite, accédez à vos applications à partir d'un navigateur Web avec ces URL:

http: // 198.168.43.31: 3000 http: // 198.168.43.31: 3001 
Accédez aux applications de nœud à partir du navigateur

Enfin et surtout, PM2 est un système de modules simples et intégré pour étendre ses capacités de base, certains des modules incluent PM2-logogrotate, PM2-webshell, PM2-Server-Monit, et plus encore - vous pouvez également créer et utiliser vos propres modules.

Pour plus d'informations, accédez au référentiel GitHub PM2: https: // github.com / unitech / pm2 /.

C'est tout! PM2 est un gestionnaire de processus avancé et efficace pour la production pour Nœud.js avec un équilibreur de charge intégré. Dans cet article, nous avons montré comment installer et utiliser PM2 pour gérer les applications Nodejs dans Linux. Si vous avez des questions, envoyez-les à utiliser via le formulaire de commentaire ci-dessous.