Comment installer et configurer PM2 sur des serveurs Linux

Le déploiement est l'une des étapes les plus cruciales et concluantes du développement logiciel. Une stratégie de déploiement appropriée est essentielle pour offrir la meilleure expérience à vos utilisateurs tout en utilisant efficacement vos services. Cependant, ce processus apporte également son lot de défis.

Node.js, l'environnement d'exécution JavaScript open source, est un choix populaire pour créer l'infrastructure principale de votre application en vous permettant d'exécuter JavaScript en dehors des navigateurs Web. Mais que se passe-t-il si votre application Node.js plante en production ? Découvrez comment vous pouvez éviter de tels scénarios dans cet article.

Qu'est-ce que PM2 et pourquoi en avez-vous besoin ?

PM2 est un gestionnaire de processus démon qui vous permet de garder les applications Node.js en vie pour toujours, de les recharger sans temps d'arrêt, de gérer la journalisation, la surveillance et le clustering des applications.

Imaginez que votre serveur Web Node.js se bloque en raison d'une erreur d'exécution. Sans utiliser quelque chose comme PM2, vous devrez suivre manuellement l'état de votre application périodiquement et la redémarrer chaque fois qu'elle tombe en panne. PM2 vous aide à automatiser ce processus et maintient votre application en ligne 24h/24 et 7j/7, même en cas de problème.

Installation de PM2 sur des serveurs Linux

Avant de pouvoir installer PM2, assurez-vous que Node.js et NPM sont installés sur votre serveur Linux pour télécharger le package PM2 à partir des référentiels Node Package Manager .

Une fois Node.js opérationnel sur votre serveur, installez PM2 en exécutant cette commande :

 npm install -g pm2

Sortir:

L'indicateur -g dans la commande ci-dessus signifie Global et vous permet d'utiliser PM2 dans toutes vos applications Node.js. Vous devrez peut-être ajouter sudo au début de la commande, en fonction des autorisations dont dispose votre compte utilisateur.

Exécuter des applications de nœud avec PM2

Une fois le processus d'installation terminé, accédez au répertoire où réside votre application Node.js à l'aide de la commande cd . Dans le répertoire du projet, vous pouvez exécuter un fichier JavaScript à l'aide de PM2 avec la commande ci-dessous :

 pm2 start filename.js

Par exemple, si le point d'entrée de votre application Node.js réside dans le fichier index.js , voici comment exécuter le fichier :

 pm2 start index.js

Si vous devez apporter des modifications à votre application, vous pouvez le faire à l'aide d'un éditeur de texte en ligne de commande pour modifier le code, puis redémarrez votre instance d'application PM2 avec cette commande :

 pm2 restart filename.js

Pour fermer complètement l'application à la place, utilisez cette commande :

 pm2 stop filename.js

Au lieu d'exécuter un seul fichier avec PM2, vous pouvez également exécuter des scripts NPM présents dans le fichier package.json de votre application Node.js. Par exemple, si vous souhaitez exécuter le script de démarrage , structurez la commande de cette manière :

 pm2 start npm --name <app_name> -- start

Affichage des journaux et des statistiques

Pour surveiller les erreurs qui peuvent survenir pendant l'exécution, PM2 vous offre une option pour vérifier les journaux générés par votre application. Voici comment vous pouvez les visualiser :

 pm2 logs <app_name>

Pour surveiller tous les processus en cours d'exécution, PM2 est livré avec un tableau de bord pratique basé sur un terminal pour observer l'utilisation du processeur et de la RAM, auquel vous pouvez accéder avec cette commande :

 pm2 monit

Pour afficher le reste des détails et des métadonnées tels que la version de l'application, le nombre de redémarrages, la disponibilité, les arguments de script, etc. :

 pm2 show <app_name>

Déployez facilement les applications Node.js en production

L'utilisation d'un gestionnaire de processus comme PM2 peut réduire considérablement les frais généraux liés à la surveillance constante de l'état et de la disponibilité de votre application Node.js. Avec son équilibreur de charge intégré, vous pouvez vous attendre à des performances et une fiabilité accrues pour vos services.

En parlant de déploiement, vous utiliseriez très probablement une machine virtuelle Linux pour déployer des applications dans le cloud. Vous ne savez pas comment vous pourriez le faire ? Voici un guide pour vous familiariser avec les machines virtuelles sur Azure.