Résumé rapide: Installer Node.js sur Windows Server en 5 étapes
La méthode la plus fiable en production : nvm-windows.
# 1. Télécharger et exécuter nvm-setup.exe depuis GitHub
# 2. Vérifier l'installation
nvm version
# 3. Installer la version LTS
nvm install lts
# 4. Activer la version installée (ex. 24.16.0)
nvm use 24.16.0
# 5. Vérifier Node.js et npm
node -v && npm -v
Ensuite, déployez votre app avec PM2 pour qu'elle survive aux redémarrages du serveur.
Prérequis
Avant de commencer, assurez-vous d'avoir :
Windows Server 2019 ou 2022 avec accès administrateur
Connexion RDP active
1 Go de RAM minimum (2 Go recommandés pour la production)
Ports ouverts : 3000 (dev), 80/443 (prod)
PowerShell 5.1+: inclus par défaut sur Windows Server 2019/2022
Quelle méthode d'installation choisir ?
Trois options existent pour installer node js sur Windows Server. Voici la comparaison :
Méthode | Cas d'usage | Avantages | Inconvénients |
|---|---|---|---|
nvm-windows | Développeurs, production multi-projets | Gestion multi-versions, switch rapide | Installation légèrement plus longue |
Installateur MSI | Version unique, démarrage rapide | Simple, familier | Difficile de changer de version |
winget | Windows Server 2022 moderne | CLI natif, rapide | Moins de contrôle sur les versions |
Recommandation : nvm-windows. Sur un VPS windows en production, vous aurez tôt ou tard besoin de jongler entre Node 20 LTS et Node 22. Autant le prévoir dès le départ.
Méthode 1: Installer Node.js avec nvm-windows (recommandée)
nvm-windows est le gestionnaire de versions Node.js pour Windows. C'est un projet distinct de nvm (qui lui ne fonctionne que sur Linux/macOS).
Étape 1: Télécharger nvm-windows
Rendez-vous sur la page des releases GitHub : 👉 https://github.com/coreybutler/nvm-windows/releases
Téléchargez nvm-setup.exe (dernière version stable, actuellement v1.2.x).
Étape 2: Lancer l'installateur
Exécutez nvm-setup.exe en tant qu'Administrateur. Gardez les chemins d'installation par défaut.
Étape 3: Vérifier l'installation
Ouvrez un nouveau terminal PowerShell (important : fermez l'ancien) :
nvm version
Résultat attendu : 1.2.x ou supérieur.
Étape 4: Installer Node.js LTS
nvm install lts
Cette commande télécharge automatiquement la dernière version LTS (actuellement 24.16.0).
Étape 5: Activer la version
nvm use 24.16.0
Remplacez
24.16.0par la version affichée aprèsnvm install lts.
Étape 6: Vérifier Node.js et npm
node -v && npm -v
Résultat attendu :
v24.16.0
10.x.x
Étape 7: Installer et gérer plusieurs versions
# Installer Node 20 LTS et Node 22
nvm install 20.19.0
nvm install 22.14.0
# Basculer sur Node 22
nvm use 22.14.0
# Lister toutes les versions installées
nvm list
Méthode 2: Installer Node.js avec l'installateur MSI
Méthode la plus directe pour une version unique. Idéale si vous n'avez qu'un seul projet et que vous ne prévoyez pas de changer de version.
Étapes
Allez sur https://nodejs.org/en/download
Téléchargez le Windows Installer (.msi): choisissez la version LTS
Lancez l'installateur et cochez "Add to PATH" lors de l'installation
Vérifiez dans PowerShell :
node -v && npm -v
Limite principale : pour changer de version, il faut désinstaller manuellement puis réinstaller. Peu pratique en production.
Méthode 3: Installer Node.js avec winget
Disponible sur Windows Server 2022 avec App Installer installé. Une seule commande suffit :
winget install OpenJS.NodeJS.LTS
Vérification :
node -v
Note : winget installe une version fixe. Pour changer de version, repassez par winget upgrade ou basculez vers nvm-windows.
Déployer une application Node.js sur Windows Server
On va créer une app Express.js minimaliste pour valider l'installation de bout en bout.
Étape 1: Créer le dossier du projet
mkdir C:\apps\monapp
cd C:\apps\monapp
Étape 2: Initialiser npm
npm init -y
Étape 3: Installer Express
npm install express
Étape 4: Créer le fichier server.js
New-Item server.js
notepad server.js
Collez ce code dans Notepad :
const express = require('express');
const app = express();
const PORT = 3000;
app.get('/', (req, res) => {
res.send('Hello from OuiHeberg VPS!');
});
app.listen(PORT, () => {
console.log(`Serveur démarré sur le port ${PORT}`);
});
Sauvegardez et fermez Notepad.
Étape 5: Tester l'application
node server.js
Ouvrez un navigateur sur votre VPS et accédez à http://localhost:3000. Vous devez voir :
Hello from OuiHeberg VPS!
Ctrl+C pour arrêter le serveur. Passons maintenant à PM2 pour le garder en ligne.
Garder Node.js en ligne avec PM2
C'est la partie que la plupart des guides oublient. Sans PM2, votre app s'arrête dès que vous fermez PowerShell ou que le serveur redémarre.
Étape 1: Installer PM2
npm install -g pm2
Étape 2: Démarrer l'application avec PM2
pm2 start C:\apps\monapp\server.js --name "monapp"
Étape 3: Configurer le démarrage automatique
pm2 startup
PM2 génère une commande à copier-coller et exécuter. Exécutez-la. Puis sauvegardez l'état actuel :
pm2 save
Désormais, votre app redémarre automatiquement après chaque reboot du VPS.
Commandes PM2 essentielles
Commande | Action |
|---|---|
| Lister tous les processus |
| Afficher les logs en temps réel |
| Redémarrer l'application |
| Stopper l'application |
| Monitoring en temps réel (CPU, RAM) |
| Supprimer le processus de PM2 |
PM2 est gratuit et open source (licence MIT). C'est le standard de facto pour la gestion de processus Node.js en production.
Configurer le pare-feu Windows pour Node.js
Sans cette étape, votre app est inaccessible depuis l'extérieur. Ouvrez PowerShell en tant qu'Administrateur :
# Ouvrir le port 3000 (développement)
New-NetFirewallRule -DisplayName "Node.js Dev" -Direction Inbound -Protocol TCP -LocalPort 3000 -Action Allow
# Ouvrir le port 80 (production HTTP)
New-NetFirewallRule -DisplayName "Node.js HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
# Ouvrir le port 443 (production HTTPS)
New-NetFirewallRule -DisplayName "Node.js HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
Vérifiez que les règles sont bien actives :
Get-NetFirewallRule -DisplayName "Node.js*" | Select Name, Enabled
Résultat attendu : Enabled = True pour chaque règle.
Gérer plusieurs versions de Node.js avec nvm-windows
C'est l'un des grands avantages de nvm-windows : tester votre app sur Node 20 LTS avant de migrer vers Node 22, sans rien désinstaller.
# Lister les versions installées
nvm list
# Installer une version spécifique
nvm install 20.19.0
# Basculer vers cette version
nvm use 20.19.0
# Désinstaller une version obsolète
nvm uninstall 18.20.0
Cas d'usage typique : votre app tourne sur Node 20 en production. Vous installez Node 22 avec nvm install 22.14.0, vous testez avec nvm use 22.14.0, et si tout va bien, vous mettez à jour la prod.
Mettre à jour Node.js sur Windows Server
Avec nvm-windows, la mise à jour est propre et réversible :
# Installer la nouvelle version LTS
nvm install lts
# Activer la nouvelle version (ex. 24.16.0)
nvm use 24.16.0
# Supprimer l'ancienne version si tout fonctionne
nvm uninstall 22.14.0
Important : testez toujours la compatibilité de votre application avant de basculer en production. Certains packages npm peuvent avoir des dépendances liées à une version majeure de Node.
Dépannage: 6 erreurs fréquentes
1. 'node' n'est pas reconnu comme commande
Le PATH n'est pas configuré. Fermez et rouvrez PowerShell, puis relancez nvm use [version].
2. nvm is not recognized
nvm-windows n'est pas correctement installé. Réinstallez nvm-setup.exe en tant qu'Administrateur.
3. EACCES: permission denied lors d'un npm install -g
Lancez PowerShell en tant qu'Administrateur avant d'exécuter la commande.
4. Port 3000 already in use
Un processus occupe déjà le port. Identifiez-le et arrêtez-le :
netstat -ano | findstr :3000
taskkill /PID [PID] /F
Remplacez [PID] par le numéro de processus affiché.
5. PM2 ne redémarre pas après un reboot
La commande générée par pm2 startup n'a pas été exécutée. Relancez pm2 startup, copiez-collez la commande affichée, puis faites pm2 save.
6. node_modules manquants après un switch de version nvm
Normal : chaque version Node a ses propres modules globaux. Relancez npm install dans le dossier de votre projet après chaque nvm use.
FAQ
Quelle version de Node.js installer sur Windows Server ?
Toujours la version LTS (Long Term Support). Elle reçoit des correctifs de sécurité pendant 3 ans et est conçue pour la stabilité en production. En mai 2026, la LTS active est Node.js 24.x.
Node.js fonctionne-t-il sur Windows Server 2019 et 2022 ?
Oui, les deux sont pleinement supportés. Node.js publie des binaires Windows natifs pour chaque version LTS. nvm-windows fonctionne sur les deux.
Quelle différence entre nvm-windows et nvm ?
nvm (nvm-sh) est conçu pour Linux et macOS uniquement: il ne fonctionne pas sur Windows. nvm-windows est un projet séparé, développé par Corey Butler, qui remplit le même rôle sur Windows.
Comment voir quelle version de Node.js est active ?
node -v
# ou
nvm list
La version active est marquée d'un astérisque * dans nvm list.
PM2 est-il gratuit ?
Oui. PM2 Runtime est open source sous licence MIT. Il existe une version payante (PM2 Plus) pour le monitoring avancé, mais elle n'est pas nécessaire pour la plupart des projets.
Peut-on faire tourner plusieurs apps Node.js sur le même VPS ?
Oui, avec PM2 : chaque app écoute sur un port différent (3000, 3001, 3002…). Pour exposer tout ça sur le port 80/443, utilisez un reverse proxy comme Nginx ou IIS en frontal.
