Guide de déploiement

Déployer une application Nuxt sur un VPS

Déployer sur un VPS Cloud →

Développement7 min de lecture

Déployer une application Nuxt sur un VPS

Nuxt 3 et son moteur Nitro produisent un serveur universel capable de tourner sur n'importe quelle plateforme Node. Le déployer sur votre VPS vous donne un rendu SSR rapide, des routes serveur illimitées et un contrôle total du build, loin des contraintes des hébergements managés.

Pourquoi self-héberger Nuxt sur un VPS ?

Avec Nitro, Nuxt 3 génère un build portable (preset: node-server) qui démarre comme un simple serveur Node écoutant sur un port. Cette portabilité est idéale pour un VPS : vous bénéficiez du rendu côté serveur, des server/api routes et du cache de route sans dépendre d'un runtime edge propriétaire. L'auto-hébergement supprime les quotas de fonctions et vous laisse régler la mise en cache, la compression et le nombre d'instances Node. Pour une application Vue 3 en production avec authentification, appels API serveur et SEO soigné, le VPS offre la stabilité d'un serveur persistant et un coût fixe, sans surprise de facturation à l'invocation.

Bénéfices concrets d'un Nuxt auto-hébergé

  • Routes serveur server/api illimitées, sans facturation par appel.
  • SSR et hydratation Vue 3 servis depuis un serveur Node persistant et stable.
  • Build Nitro portable (node-server) facile à conteneuriser et à reproduire.
  • Cache de route et règles routeRules (SSR, SSG, ISR) maîtrisés côté serveur.
  • Mutualisation de plusieurs apps Nuxt sur un même VPS derrière Nginx.
  • Variables d'environnement runtime (runtimeConfig) gérées en clair sur votre serveur.

Prérequis matériels et logiciels

Comme pour tout framework moderne, le build Nuxt consomme de la mémoire : visez 2 Go de RAM minimum (le build peut être réalisé en CI si votre VPS est plus petit). Au runtime, 1 vCPU et 1 Go suffisent pour le serveur Nitro. Installez Node.js 20 LTS via nvm ou une image node:20-alpine, ainsi que PM2 pour la supervision ou Docker pour l'isolation. Configurez nitro: { preset: 'node-server' } dans nuxt.config.ts. Un domaine pointé vers le VPS est requis pour le certificat TLS. Ubuntu 22.04/24.04 LTS reste la base conseillée.

Déployer Nuxt étape par étape

01

Configurer le projet pour Node

Définissez le preset Nitro node-server dans nuxt.config.ts et déclarez vos secrets dans runtimeConfig. Côté VPS, installez Node.js 20 LTS et PM2, puis clonez le dépôt et créez le fichier .env.

02

Builder l'application

Lancez npm ci puis npm run build. Nitro produit un dossier .output autonome contenant server/index.mjs. Ce dossier est tout ce dont le VPS a besoin pour servir l'application en production.

03

Lancer le serveur Nitro

Démarrez avec pm2 start .output/server/index.mjs --name nuxt, en définissant PORT=3000 et NITRO_HOST=0.0.0.0 dans l'environnement. Exécutez pm2 save et pm2 startup pour relancer le service après un redémarrage du VPS.

04

Placer Nginx en reverse proxy

Configurez un bloc serveur avec proxy_pass http://localhost:3000, transmettez Host et X-Forwarded-Proto, et servez /_nuxt/ (assets hashés) directement depuis .output/public avec un cache long. Activez gzip ou brotli.

05

Activer le HTTPS

Générez un certificat Let's Encrypt avec Certbot pour votredomaine.ma, forcez la redirection HTTP vers HTTPS et planifiez le renouvellement automatique. Vérifiez que le SSR détecte bien le protocole sécurisé via les en-têtes transmis.

06

Automatiser les mises à jour

Mettez en place un script git pull && npm ci && npm run build && pm2 reload nuxt ou un pipeline CI qui pousse le dossier .output. Le reload PM2 garantit un déploiement sans interruption de service.

Exploitez les routeRules de Nuxt pour mélanger les stratégies de rendu page par page : prerender: true pour les pages statiques (blog, mentions légales), swr ou isr pour les pages semi-dynamiques avec cache, et SSR complet pour les pages personnalisées. Vous réduisez la charge sur Node et améliorez le temps de réponse sans changer d'infrastructure.

Déployez votre Nuxt en toute autonomie

Le VPS Cloud ServOrbit fournit un template avec Node.js, PM2, Nginx et SSL automatique, idéal pour héberger vos applications Nuxt 3 avec SSR et routes serveur.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou écrivez à notre équipe — support en anglais, français et arabe.