[{"data":1,"prerenderedAt":117},["ShallowReactive",2],{"seo-verification":3,"blog-deployer-nodejs-vps-fr":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"title":9,"excerpt":10,"readTime":11,"views":12,"isPinned":13,"publishedAt":14,"category":15,"categories":21,"featuredImage":23,"bgImage":24,"posterImage":25,"relatedSolution":26,"intro":28,"sections":29,"ctaTitle":72,"ctaBody":73,"ctaButton":74,"ctaUrl":75,"relatedPosts":76},43,"deployer-nodejs-vps","Déployer une application Node.js sur un VPS","Déployez une application Node.js en production sur un VPS : PM2, reverse proxy Nginx, SSL Let's Encrypt et démarrage automatique au boot.",8,591,false,"2026-05-08T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},4,"Développement","developpement","bg-warning\u002F10 text-warning","dev",[22],{"id":16,"name":17,"slug":18,"color":19,"icon":20},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fdeployer-nodejs-vps-poster.svg",{"categorySlug":18,"appSlug":27},"nodejs","Faire tourner une application Node.js en production demande plus qu'un simple `node app.js` : il faut un gestionnaire de processus qui redémarre l'app en cas de crash, un reverse proxy pour le HTTPS, et un démarrage automatique au boot. Sur un VPS, vous maîtrisez chaque maillon de cette chaîne, contrairement à une plateforme managée qui vous facture à l'usage.",[30,34,44,47,69],{"type":31,"title":32,"body":33},"h2","Pourquoi déployer Node.js sur un VPS plutôt que sur une plateforme managée ?","Les plateformes serverless et PaaS sont pratiques au démarrage mais leur coût grimpe avec le trafic, et elles imposent des contraintes (timeouts, cold starts, limites de connexions WebSocket). Un VPS vous donne un process Node.js persistant, des connexions longues (WebSocket, SSE) sans limite artificielle, des ressources dédiées et un coût fixe prévisible. Vous décidez de la version de Node, du gestionnaire de processus, du reverse proxy et de la stratégie de mise à jour, sans dépendre des conventions d'un fournisseur.",{"type":35,"title":36,"items":37},"ul","Ce que vous gagnez avec un VPS pour Node.js",[38,39,40,41,42,43],"Process Node.js persistant, idéal pour WebSocket, SSE et tâches longues sans cold start","Redémarrage automatique en cas de crash et au reboot du serveur grâce à PM2","Mode cluster pour exploiter tous les cœurs CPU du VPS sans changer votre code","Reverse proxy Nginx devant Node pour le HTTPS, la compression et les fichiers statiques","Coût fixe et prévisible, sans facturation à la requête ni surprise de scaling","Contrôle total de la version de Node.js et des dépendances système",{"type":31,"title":45,"body":46},"Prérequis","Une application Node.js standard (API Express, Nest, Fastify) tourne confortablement sur un VPS de 1 à 2 vCPU et 1 à 2 Go de RAM ; prévoyez davantage de RAM si vous compilez un front lourd au build ou exécutez des workers. Installez Node.js via nvm ou le dépôt NodeSource pour figer une version LTS, ainsi que PM2 comme gestionnaire de processus et Nginx comme reverse proxy. Il vous faut un domaine pointant vers l'IP du VPS et les ports 80\u002F443 ouverts.",{"type":48,"title":49,"steps":50},"steps","Déployer une application Node.js en production",[51,54,57,60,63,66],{"title":52,"body":53},"Préparer le VPS et installer Node.js","Sur un VPS Ubuntu 22.04, mettez le système à jour et installez une version LTS de Node via nvm (`nvm install --lts`) ou le dépôt NodeSource. Vérifiez : `node -v` et `npm -v`. Créez un utilisateur non-root dédié à l'application plutôt que de tout exécuter en root.",{"title":55,"body":56},"Récupérer le code et builder","Clonez votre dépôt sur le VPS, installez les dépendances de production (`npm ci --omit=dev`) et lancez le build si nécessaire (`npm run build`). Placez les variables sensibles dans un fichier `.env` non commité ou dans les variables d'environnement du service.",{"title":58,"body":59},"Lancer l'application avec PM2","Installez PM2 globalement (`npm install -g pm2`) puis démarrez l'app : `pm2 start app.js --name monapp -i max`. Le flag `-i max` active le mode cluster sur tous les cœurs. PM2 relance automatiquement le process en cas de crash.",{"title":61,"body":62},"Activer le démarrage automatique au boot","Générez le script systemd avec `pm2 startup`, exécutez la commande affichée, puis figez l'état actuel avec `pm2 save`. Au prochain redémarrage du VPS, votre application sera relancée automatiquement, sans intervention.",{"title":64,"body":65},"Configurer Nginx en reverse proxy","Installez Nginx et créez un virtual host pour votre domaine qui proxifie vers le port local de Node (ex : `proxy_pass http:\u002F\u002Flocalhost:3000;`). Ajoutez les en-têtes `Upgrade` et `Connection` si vous utilisez les WebSocket. Testez la conf (`nginx -t`) puis rechargez.",{"title":67,"body":68},"Sécuriser en HTTPS avec Let's Encrypt","Installez Certbot et son plugin Nginx, puis exécutez `certbot --nginx -d votredomaine.com`. Certbot obtient le certificat, configure la redirection HTTP→HTTPS et programme le renouvellement automatique. Votre application Node est désormais servie en HTTPS.",{"type":70,"body":71},"tip","Pour des déploiements sans interruption, combinez PM2 en mode cluster avec `pm2 reload monapp` plutôt que `restart` : PM2 redémarre les workers un par un, gardant toujours au moins une instance disponible pendant la mise à jour. Surveillez ensuite la mémoire avec `pm2 monit` et fixez une limite de redémarrage automatique (`--max-memory-restart 500M`) pour prévenir les fuites mémoire en production.","Mettez votre application Node.js en production sur un VPS Cloud","Déployez un VPS Cloud ServOrbit avec le template Développement : Node.js, PM2 et Nginx préconfigurés pour passer votre application en production en HTTPS.","Voir les VPS Cloud","\u002Fvps-cloud",[77,91,104],{"id":78,"slug":79,"title":80,"excerpt":81,"readTime":82,"views":83,"isPinned":13,"publishedAt":84,"category":85,"categories":86,"featuredImage":23,"bgImage":24,"posterImage":88,"relatedSolution":89},5,"deployer-laravel-vps","Déployer Laravel sur un VPS : guide production","Passez Laravel en production sur VPS : PHP, workers, cache, base de données, reverse proxy et HTTPS proprement configurés.",7,2840,"2026-02-09T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[87],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fdeployer-laravel-vps-poster.svg",{"categorySlug":20,"appSlug":90},"laravel-stack",{"id":92,"slug":93,"title":94,"excerpt":95,"readTime":11,"views":96,"isPinned":13,"publishedAt":97,"category":98,"categories":99,"featuredImage":23,"bgImage":24,"posterImage":101,"relatedSolution":102},44,"deployer-django-vps","Déployer une application Django sur un VPS","Déployez Django sur un VPS : Gunicorn, Nginx, PostgreSQL, Docker et SSL. Guide complet pour développeurs Python qui veulent self-héberger.",628,"2026-05-07T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[100],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fdeployer-django-vps-poster.svg",{"categorySlug":18,"appSlug":103},"django",{"id":105,"slug":106,"title":107,"excerpt":108,"readTime":82,"views":109,"isPinned":13,"publishedAt":110,"category":111,"categories":112,"featuredImage":23,"bgImage":24,"posterImage":114,"relatedSolution":115},45,"deployer-fastapi-vps","Déployer une application FastAPI sur un VPS","Déployez FastAPI sur un VPS avec Uvicorn, Gunicorn, Nginx et SSL. Guide pour développeurs Python qui veulent une API async self-hébergée.",665,"2026-05-06T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[113],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fdeployer-fastapi-vps-poster.svg",{"categorySlug":18,"appSlug":116},"fastapi",1784126233315]