Exécuter des projets Node.js en production avec PM2 : guide du panel
Pour mettre vos projets Node.js et Express en production sur VPS, définissez les paramètres du mode cluster PM2, du redémarrage automatique, de la limite de mémoire et de la rotation des journaux sur le panneau.
#node.js
#pm2
#deploy
#express
#nestjs
VDS Panel Ekibi
Ürünü geliştiren ekip
~8 dk
okuma
déploiement
kategori
Node.js est un runtime qui fonctionne avec une boucle d’événements sur un seul thread. Cette architecture a d’énormes performances pour les serveurs API, mais elle a deux limites : en cas de crash, le processus s’arrête, il ne fonctionne pas en parallèle autant de cœurs CPU. PM2 est un gestionnaire de processus conçu pour surmonter ces deux limites. Il s’agit de l’un des principaux outils utilisés pour le déploiement de Production Node.js.
Dans ce guide, nous expliquerons ce que PM2 fait en production, quels paramètres vous intéressent et pourquoi, et comment vous pouvez gérer ces paramètres depuis l’interface avec VDS Panel.
Bir bakışta
99.9%
Objectif de disponibilité
4-8×
débit avec cluster
<1 seconde
redémarrage automatique
0
Rechargement pendant les temps d'arrêt
Que fait PM2 ?
PM2 “démonise” vos processus Node.js. Bien:
Redémarre le processus lorsqu’il plante
Ouvre plus d’un processus et répartit la charge (mode cluster)
Écrit les journaux dans le fichier et les fait pivoter
Gère le trafic ininterrompu entre les redémarrages
Surveille la mémoire/CPU, redémarre le processus qui dépasse les limites
Il est également possible d’exécuter Node.js avec systemd, mais vous devez installer les fonctionnalités ci-dessus une par une.
Pourquoi le mode cluster est-il important ?
Node.js exécute un seul thread par défaut. Si vous exécutez un processus Node sur un VPS à 4 cœurs, votre capacité CPU de 75 % reste inactive. Le mode cluster PM2 ouvre autant de processus de travail qu’il y a de cœurs de processeur et répartit la charge entre eux :
P0
4-8×
plus de débit
Mode cluster comparé au mode instance unique sur un VPS 4 cœurs.
Installation classique vs via panneau
Classique
Manuel PM2 avec terminal
npm install pm2 -g (installation globale)
Écrivez ecosystem.config.js
Apprenez les commandes pm2 start/stop/reload
Suivi des journaux avec les journaux pm2
Démarrage au démarrage avec pm2 save + pm2 startup
SSH + rechargement manuel pour mise à jour
interface
avec panneau VDS
Ajoutez un projet, sélectionnez Node.js
Définir le nombre d'instances de cluster avec le curseur
Limite de mémoire, redémarrage automatique, rotation automatique des journaux
Flux de journaux en direct sur le panneau
Démarrage automatique au démarrage (déjà installé)
Git push → rechargement automatique sans temps d'arrêt
Installation étape par étape avec panneau
01
Ajouter le projet Node.js
Liez ou compressez le référentiel GitHub. Le panneau détecte package.json, utilise « scripts.start » ou le point d'entrée que vous spécifiez.
02
Configurer le cluster
Curseur du nombre d'instances : 1 (mode fork) jusqu'au nombre de CPU de votre VPS. Pour la plupart des API, 2 à 4 est idéal.
03
Définir la limite de mémoire
Comme 256 Mo, 512 Mo, 1 Go. Le travailleur dépassant cette limite redémarrera automatiquement. La fuite de mémoire est tolérée, l'application continue de fonctionner.
04
Entrez les variables d'environnement
NODE_ENV=production, DATABASE_URL, clés API. Il n'est pas écrit sur Git, il est stocké dans le coffre-fort secret du panneau et injecté au moment de l'exécution.
05
Connecter le domaine
Nom de domaine ou sous-domaine personnalisé. Le panneau obtient automatiquement le certificat Let's Encrypt et dirige le proxy inverse nginx vers votre port 3000.
06
Appuyez sur Déployer
Votre application est active dans environ 90 secondes. Lorsque vous effectuez un git push, un rechargement sans temps d'arrêt est déclenché.
Rechargement sans temps d’arrêt
L’une des fonctionnalités les plus puissantes de PM2 est le rechargement gracieux. Lorsque vous déployez un nouveau code :
PM2 démarre de nouveaux travailleurs
Les nouveaux travailleurs commencent à écouter
Attend que les anciens travailleurs terminent leurs demandes en cours (arrêt progressif)
Les vieux travailleurs ferment leurs portes
L’utilisateur ne ressent aucune interruption. VDS Panel effectue chaque déploiement avec cette stratégie.
Signal d'arrêt progressif
Si votre application Node.js écoute le signal SIGINT ou SIGTERM, lorsque PM2 s’arrête, elle donne à votre application 10 secondes pour effectuer des tâches de nettoyage telles que la fermeture des connexions de base de données ouvertes et le vidage du cache. Le panneau définit cette heure par défaut.
Défense contre les fuites de mémoire
Les fuites de mémoire Node.js sont courantes ; surtout lorsque l’écouteur d’événements est oublié et que le cache global augmente. Le réglage P0 de PM2 fournit la solution :
P1
Dans l’interface du panneau, cette valeur est un curseur. Si vous avez spécifié 512 Mo, PM2 redémarre silencieusement un travailleur lorsqu’il dépasse 512 Mo. D’autres travailleurs continuent de gérer la circulation.
Dépendances DEV en production
Il s’installe avec le panneau P0, les dépendances de développement ne sont pas installées. Si vous importez un package dans P1 au moment de l’exécution, la version de production échouera. Vous verrez ces erreurs dans le journal de création du panneau.
Gestion des journaux
PM2 écrit P0 et P1 pour chaque travailleur. Au fil du temps, ces fichiers se remplissent. Le panneau active automatiquement la rotation des journaux :
Faites pivoter lorsque la taille du fichier atteint 100 Mo
5 anciens dossiers sont conservés
Les journaux sont diffusés en direct depuis l’interface utilisateur du panneau (sans ouvrir de terminal)
Surveillance et alertes
Pour chaque processus PM2, le panel :
Flux graphiques CPU et mémoire en direct
Le nombre de redémarrages est surveillé (trop de redémarrages = signal de bug)
Télémétrie du temps de réponse (si un moniteur d’état express ou similaire est ajouté)
Lancement automatique du démon cpulimit lorsque la limite CPU est dépassée (protégeant les projets voisins)
Frameworks Node.js
VDS Panel a été testé avec et détecte automatiquement les frameworks suivants :
Express, commun, rapide, simple
NestJS, de niveau entreprise, axé sur TypeScript
Fastify, validation de schéma JSON intégrée ultra-rapide
Koa.js, le successeur moderne des créateurs d’Express
Hapi, vaste écosystème de plugins orienté configuration
AdonisJS, MVC de type Laravel
Le panneau lit votre P0, détecte le framework correct et sélectionne le script de démarrage approprié.
Conclusion
PM2 est un incontournable pour la production Node.js. Le mode cluster, le redémarrage automatique, la limite de mémoire, la rotation des journaux, le rechargement sans temps d’arrêt, tous sont livrés avec un seul démon. VDS Panel vous permet de gérer ces paramètres depuis l’interface sans mémoriser la commande du terminal.
Pour mettre en ligne votre projet Node.js, vous pouvez terminer la configuration du panneau en 8 minutes et voir votre premier projet en demandant une démo depuis notre formulaire de contact.
Expérience de déploiement moderne sur votre propre serveur, à portée d'un simple message de communication.
Laissez-nous comprendre votre scénario d'utilisation et préparons la licence et le plan d'installation appropriés pour vous. Notre délai de réponse moyen est inférieur à 24 heures.