Guide de déploiement

Déployer une application Spring Boot sur un VPS

Déployer sur un VPS Cloud →

Développement3 min de lecture

Déployer une application Spring Boot sur un VPS

Spring Boot reste le standard pour les API et microservices Java en entreprise. Plutôt que de payer une PaaS facturée à la mémoire JVM, un VPS vous donne le contrôle total sur l'heap, le pool de connexions et le coût mensuel. Voici comment déployer proprement votre artefact en production.

Pourquoi self-héberger Spring Boot sur un VPS ?

Les plateformes managées pour Java facturent à la RAM réservée et imposent leur version de JDK, ce qui complique l'optimisation de la JVM et la gestion des connexions PostgreSQL. Sur un VPS, vous maîtrisez la stack complète : OpenJDK 21 LTS avec ses Virtual Threads, Maven pour le build, Nginx en frontal et PostgreSQL 16 pour les données. Vous décidez des flags JVM, du nombre de threads, du tuning du pool de connexions et de la stratégie de déploiement. Pour une application Spring Boot en production, cette transparence est décisive : vous pouvez profiler un endpoint lent, ajuster -Xmx par service et déployer une nouvelle version sans surcoût caché.

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

  • Contrôle total de PostgreSQL : index, VACUUM, pool de connexions et sauvegardes pg_dump planifiées.
  • Virtual Threads (OpenJDK 21 Loom) pour Spring WebMVC : des centaines de requêtes concurrentes sans réécriture réactive.
  • Coût fixe et prévisible, peu importe le trafic ou le volume de requêtes API traitées.
  • Données et logs sous votre juridiction, utile pour la conformité et l'audit.
  • Liberté de version JDK et de dépendances système sans contraintes de buildpack.
  • Déploiements reproductibles : un fat JAR, un java -jar, et l'application est en ligne.

Prérequis matériels et logiciels

Pour une application Spring Boot avec PostgreSQL, prévoyez au minimum 2 vCPU et 2 Go de RAM ; visez 4 Go si vous faites tourner plusieurs services ou un pool de connexions chargé. L'OS recommandé est Ubuntu 24.04 LTS — OpenJDK 21 est dans les dépôts officiels, aucun PPA requis. Un nom de domaine est optionnel : sans domaine, un tunnel SSH vers le port 8080 suffit pour le développement et les tests. Comptez 10 Go de disque pour la JVM, l'application, la base et les logs.

Déployer Spring Boot étape par étape

01

Installer OpenJDK 21 et PostgreSQL

Connectez-vous en SSH et exécutez apt-get install -y maven nginx postgresql postgresql-contrib. Maven tire OpenJDK 21 LTS comme dépendance — aucune configuration de dépôt supplémentaire sur Ubuntu 24.04. Vérifiez : java -version (21.x), mvn -version et psql --version (16.x).

02

Créer la base et l'utilisateur PostgreSQL

Connectez-vous à PostgreSQL en sudo -u postgres psql et exécutez CREATE USER myapp WITH PASSWORD 'MotDePasseFort'; CREATE DATABASE myappdb OWNER myapp;. Renseignez spring.datasource.url=jdbc:postgresql://localhost/myappdb dans votre application.properties.

03

Construire et déposer le JAR

Exécutez mvn clean package -DskipTests en local, puis transférez le fat JAR vers /var/www/votre-app/app.jar via scp. Créez un fichier application.properties avec vos identifiants PostgreSQL, spring.datasource.url, et server.port=8080.

04

Créer un service systemd

Créez /etc/systemd/system/votre-app.service contenant ExecStart=/usr/bin/java -jar /var/www/votre-app/app.jar, Restart=always, User=www-data. Exécutez systemctl daemon-reload && systemctl enable --now votre-app. Vérifiez avec systemctl status votre-app et journalctl -u votre-app -f.

05

Configurer Nginx et activer le HTTPS

Créez un bloc serveur Nginx avec proxy_pass http://127.0.0.1:8080; et les en-têtes X-Forwarded-Proto. Exécutez certbot --nginx -d votre-domaine.com pour un certificat Let's Encrypt gratuit. Spring Boot écoute uniquement sur le port interne ; Nginx gère le TLS.

Utilisez les Virtual Threads de Java 21 avec Spring MVC pour multiplier le débit sans passer à WebFlux : ajoutez spring.threads.virtual.enabled=true dans votre application.properties. Chaque requête HTTP s'exécute dans un thread virtuel léger — des milliers peuvent être actifs simultanément sans saturer le pool de threads système. Idéal pour les workloads I/O-bound (appels SQL, REST) sur un VPS de 2 Go.

Déployer Spring Boot en un clic depuis le Marketplace ServOrbit

Le Marketplace ServOrbit propose un template Spring Boot Stack préconfiguré : OpenJDK 21 LTS, Maven, Nginx et PostgreSQL 16 sont installés automatiquement sur votre VPS dès la commande. Pas de session SSH pour l'installation de base — vous arrivez directement à l'étape de déposer votre JAR. La fiche marketplace contient les spécifications exactes, les cas d'usage et un guide de première configuration.

Déployez votre Spring Boot Stack en quelques minutes

Le template Spring Boot Stack ServOrbit installe OpenJDK 21 LTS, Maven, Nginx et PostgreSQL 16 sur votre VPS. Déposez votre JAR et commencez immédiatement.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou contactez notre équipe — rappel, WhatsApp ou e-mail. Support en français, anglais et arabe.