Bereitstellen eines Spring Boot-Projekts auf VPS: Schritt-für-Schritt-Anleitung
Wie stellen Sie Ihre Spring Boot-Anwendung auf Ihrem eigenen VPS bereit? Umfassende Anleitung zum Vergleich von 5 verschiedenen Möglichkeiten zum JAR-Upload, Git-basiertem Build, Systemd, Docker und Kubernetes.
Obwohl das Starten von Spring Boot-Projekten ein relativ einfacher Prozess ist, ist die Einrichtung einer nachhaltigen Bereitstellungspipeline für die meisten Entwickler eine ermüdende Aufgabe. Das Hochladen der JAR-Datei auf den Server dauert 5 Minuten. Das Hinzufügen von Systemd-Dienst, Nginx-Reverse-Proxy, Let’s Encrypt SSL, automatischem Neustart, Protokollrotation und Gesundheitsprüfung kann jedoch 2-3 Tage dauern.
In diesem Leitfaden vergleichen wir 5 verschiedene Möglichkeiten zur Bereitstellung eines Spring Boot-Projekts auf VPS; Abschließend zeigen wir Ihnen, wie Sie dies am schnellsten über das VDS-Panel tun.
Vorbereitung: Ein sauberes VPS
Für jede Methode sind mindestens 2 vCPU + 4 GB RAM + Ubuntu 22.04+ ausreichend. Wenn Ihre Spring Boot-Anwendung keinen großen Heap verwendet, läuft sie auch auf einem VPS mit 2 GB RAM.
Lassen Sie uns die erforderlichen Pakete auf dem Server installieren:
P0
Methode 1: JAR + systemd (manuell, klassisch)
Die einfachste Methode. Sie kopieren das JAR mit scp auf den Server:
P1
Sie schreiben systemd-Einheit ( P0 ):
P2
Sie starten den Dienst:
P3
Sie fügen die Nginx-Reverse-Proxy-Konfiguration hinzu, erhalten ein Let’s Encrypt-Zertifikat, installieren die Protokollrotation …
Vorteile: Vollständige Kontrolle, keine Abhängigkeiten.
Nachteile: Gleiches Ritual für jeden Einsatz. Es gibt viele menschliche Fehler. Das Aktualisieren braucht Zeit.
Methode 2: Containerisieren mit Docker
Sie fügen dem Spring Boot-Projekt eine Docker-Datei hinzu:
P4
Sie erstellen, pushen es in die Docker-Registrierung und ziehen es auf den Server und führen es aus.
Vorteile: Portabilität, Versionskontrolle, einfaches Rollback.
Nachteile: Docker-Registrierungsverwaltung, Bildgrößenoptimierung, immer noch Nginx + SSL-Handbuch.
Methode 3: Docker Compose
Wenn mehrere Dienste vorhanden sind (DB, Redis usw.), vereinfacht Docker Compose die Dinge. Sie müssen jedoch weiterhin eine SSH-Verbindung zum Server herstellen und P0 ausführen. Sie installieren CI/CD selbst.
Methode 4: Kubernetes (K3s)
Professionelle Option. Sie schreiben Ihre Deployment-, Service- und Ingress-Manifeste und wenden sie auf den Cluster an. Skalierbare, fortlaufende Updates, integrierte Gesundheitsprüfungen.
Vorteile: Industriestandard, skalierbar, belastbar.
Nachteile: Die Lernkurve ist steil. YAML auch. Zu komplex für eine einfache App.
Welches sollen wir lernen?
Die Kenntnis der Grundlagen von systemd, Docker und Kubernetes ist für die Karriere eines Entwicklers wertvoll. Sie müssen sie jedoch nicht für jede Bereitstellung verwenden. Zwei unterschiedliche Ziele: lernen und produktiv sein.
Methode 5: Bereitstellung mit einem Klick mit VDS Panel
Alle vier oben genannten Methoden funktionieren, verursachen aber alle Arbeitskosten. Wenn die Zeit Ihres Entwicklungsteams wertvoll ist, kann die Automatisierung einen Großteil dieses Prozesses übernehmen.
01
Projekt zum Panel hinzufügen
Wenn GitHub verbunden ist, wird das Repo aus der Liste ausgewählt; Wenn nicht, wird die URL eingegeben. Es gibt auch eine JAR-Upload-Option.
02
Build-Strategie automatisch erkennen
Wenn pom.xml vorhanden ist, wird Maven verwendet, wenn build.gradle vorhanden ist, wird Gradle verwendet, und wenn Dockerfile vorhanden ist, wird Docker Build verwendet.
03
Automatische Datenbank hinzufügen (optional)
Sie kreuzen das PostgreSQL-Kästchen an; Panel generiert DB + Benutzer + Passwort, DATABASE_URL wird in env eingefügt.
04
Verbinden Sie eine benutzerdefinierte Domäne
Richten Sie den DNS-A-Eintrag auf die Server-IP. Das Panel erhält automatisch das Let's Encrypt-Zertifikat.
05
Drücken Sie auf „Bereitstellen“.
Das Panel startet die parallele Pipeline: Build, DB, SSL, Nginx, Integritätsprüfung. Live in ca. 90 Sekunden.
~90 Sek
Git Push zum Leben
Build + DB + SSL + Nginx sind alle parallel. Nach der ersten Bereitstellung wird es mit Cache noch kürzer.
Bei jeder weiteren Bereitstellung Git-Push
Nach der ersten Bereitstellung erfasst das Panel bei jedem Push an GitHub den Webhook und führt die oben genannten Schritte erneut aus. Rollback ist ebenfalls ein Klick: Es heißt „Wiederherstellen“ zur vorherigen erfolgreichen Bereitstellung.
JVM-Parameter, Gesundheitsprüfung, Protokoll
Von der Panel-Schnittstelle aus:
JVM-Parameter ( P0 , P1 , P2 ) werden bestimmt
Endpunkt der Gesundheitsprüfung (P3) ist definiert, das Intervall wird bestimmt
Log-Rotation ist automatisch aktiv (5 Dateien à 100 MB)
Speicher-/CPU-Limit wird projektspezifisch festgelegt
Umgebungsvariablen werden sicher gespeichert (nicht in eine Datei geschrieben)
Nexus + SonarQube-Integration
Zwei häufige Anforderungen, die mit Spring Boot-Projekten einhergehen: Artefakt-Repository und Codequalitätsanalyse. Das systemServices-Modul von VDS Panel stellt diese beiden per Mausklick zur Installation bereit:
Nexus Repository Manager, JARs werden hierher gepusht, Ihr Maven P0 wird automatisch aktualisiert
SonarQube, die Codequalitätsanalyse wird bei jedem Build ausgeführt, der Bericht ist in das Panel integriert
~2 Stunden
Handbuch Nexus + SonarQube
Nehmen Sie ein Docker-Image für Nexus auf und konfigurieren Sie es
Stellen Sie Lautstärke + Port + Reverse-Proxy ein
Admin-Passwort erstellen, Repository definieren
Gleicher Vorgang für SonarQube
Bearbeiten Sie Maven Settings.xml manuell
Webhook verbinden
~2 Minuten
Per Mausklick über das Panel installieren
„Installieren“ Sie Nexus über die Registerkarte „Dienste“.
„Installieren“ Sie SonarQube über die Registerkarte „Dienste“.
Die Datei „settings.xml“ wird automatisch aktualisiert
Jeder Build wird an SonarQube gesendet
Auf Berichte kann über das Panel zugegriffen werden
Die manuelle Installation dieser beiden Tools dauert mindestens zwei Stunden. 1 Minute, indem Sie im Panel zur Registerkarte „Dienste“ gehen und auf + klicken.
Abschluss
Wir haben fünf Methoden zum Bereitstellen von Spring Boot auf VPS gesehen. Es ist notwendig, die ersten vier zu lernen, es ist jedoch in der Karriere eines Entwicklers immer noch wertvoll, systemd, Docker und Kubernetes zu kennen. Aber Sie müssen diese Informationen nicht für jede Bereitstellung verwenden.
Dies ist genau der Zweck von VDS Panel: Ihren Arbeitsablauf zu beschleunigen, indem die Oberfläche einfach gehalten wird, ohne die Technologie dahinter zu verbergen. Um Ihre Spring Boot-Projekte git push live zu schalten, können Sie die Panel-Installation in 8 Minuten abschließen.
Möchten Sie es auf Ihrem eigenen Server ausprobieren?
Kontaktieren Sie uns über das Kontaktformular und lassen Sie uns einen Lizenz- und Installationsplan erstellen, der für Ihr Nutzungsszenario geeignet ist.
Moderne Bereitstellungserfahrung auf Ihrem eigenen Server, nur eine Kommunikationsnachricht entfernt.
Lassen Sie uns Ihr Nutzungsszenario verstehen und den entsprechenden Lizenz- und Installationsplan für Sie erstellen. Unsere durchschnittliche Reaktionszeit liegt unter 24 Stunden.