Detailliertes Tutorial zur Installation von Spring-Boot-Anwendungen auf Linux-Systemen

Detailliertes Tutorial zur Installation von Spring-Boot-Anwendungen auf Linux-Systemen

Unix/Linux-Dienste

systemd-Dienste

Betriebsablauf

1. CentOS7-virtuelle Maschine mit installiertem JDK

Bitte beachten Sie, dass Sie die Linux-Version des JDK nicht direkt über einen direkten Link wie wget herunterladen können, da sonst die Dekomprimierung fehlschlägt. Sie sollten die ursprüngliche offizielle Website öffnen, auf „Zustimmen zur Lizenz“ klicken und dann auf „Herunterladen“ klicken (diese Methode ist sehr langsam). Eine bessere Möglichkeit besteht darin, die Adresse der Download-Seite in Thunder zu kopieren, die Download-Seite über Thunder zu öffnen und nach Zustimmung zur Lizenz auf „Herunterladen“ zu klicken.

Nach dem Herunterladen entpacken und konfigurieren Sie die Umgebungsvariablen

tar -zxvf jdk1.8.0_211.jar.gz

Konfiguration der Umgebungsvariablen: Fügen Sie der Datei /etc/profile Folgendes hinzu

exportiere JAVA_HOME=/var/java/jdk1.8.0_211
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

Führen Sie nach dem Hinzufügen der Umgebungsvariablen die Quelle /etc/profile aus, damit die Umgebungsvariablen wirksam werden.

2. Bereiten Sie die zu installierende Spring Boot-Anwendung vor

2.1 Achten Sie für eine erfolgreiche Installation besonders auf die Konfiguration der relevanten Plug-Ins in der POM-Datei. Das richtige Beispiel lautet wie folgt:

<Bauen>
  <Plugins>
   <Plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>Spring-Boot-Maven-Plugin</artifactId>
    <Konfiguration>
     <mainClass>com.itsherman.dcm.Anwendung</mainClass>
     <ausführbar>wahr</ausführbar>
    </Konfiguration>
    <Hinrichtungen>
     <Ausführung>
      <Ziele>
       <goal>neu verpacken</goal>
      </Ziele>
     </Ausführung>
    </Ausführungen>
   </plugin>
  </plugins>
 </bauen>

Wenn Sie nur spring-boot-maven-plugin deklarieren und die nachfolgenden Konfigurationselemente ignorieren, besteht die Möglichkeit, dass das von Ihnen erstellte Paket (JAR) nach der Portierung nicht erfolgreich gestartet werden kann. Meldet einen Fehler, dass das Hauptmenüattribut nicht gefunden werden kann.

Das obige Problem liegt hauptsächlich daran, dass das erstellte ausführbare JAR-Paket einen Ordner META_INF enthält. Die Datei MANIFEST.MF in diesem Ordner beschreibt die Hauptinformationen des Pakets und die Zeile Main-Class fehlt. Die Lösung besteht darin, dass wir es manuell hinzufügen oder der obigen Konfiguration folgen können, insbesondere darf das Ausführungskonfigurationselement nicht fehlen, und dann mvn install erneut ausführen. Nachdem Sie das JAR-Paket neu generiert haben, öffnen Sie es mit dem Tool Winrar und überprüfen Sie die Informationen der Datei MANIFEST.MF.

Die allgemeinen vollständigen Dateiinformationen lauten wie folgt:

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Gebaut von: Sherman
Start-Klasse: com.itsherman.dcm.Application
Spring-Boot-Klassen: BOOT-INF/Klassen/
Spring-Boot-Lib: BOOT-INF/lib/
Spring-Boot-Version: 2.1.5.RELEASE
Erstellt von: Apache Maven 3.6.0
Build-Jdk: 1.8.0_172
Hauptklasse: org.springframework.boot.loader.JarLauncher

Anschließend können Sie versuchen, es lokal mit dem Befehl java -jar myapp.jar auszuführen.

3. Verwenden Sie Dateimigrationstools wie xftp, um das JAR-Paket in Schritt [1] auf die virtuelle Maschine zu migrieren.

4. Schreiben Sie die Dienstkonfigurationsdatei unter /etc/systemd/system auf die virtuelle Maschine. Das Referenzbeispiel lautet wie folgt:

[Einheit]
Beschreibung=myapp
Nach=syslog.target
[Service]
Benutzer=hadoop
ExecStart=/var/java/jdk1.8.0_211/bin/java -jar /home/hadoop/myapp/dev-manager.jar
SuccessExitStatus=143
[Installieren]
WantedBy=Mehrbenutzer.Ziel

•Beschreibung: Beschreibung des Programms
•Benutzer: Systembenutzer
•ExecStart: Der Befehl zum Starten des Programms

Nach dem Schreiben der Konfigurationsdatei speichern und beenden

Starten Sie den Dienst

Aktualisieren der Dienstkonfigurationsinformationen

systemctl daemon-reload

Starten des Dienstes

systemctl start myapp.service

Dienst beim Booten starten

systemctl enable myapp.service

Anzeigen von Servicestatusinformationen

systemctl status myapp.service

6. Testen

Öffnen Sie den Browser und greifen Sie auf den Dienst zu

Zusammenfassen

Oben finden Sie ein ausführliches Tutorial zur Installation von Spring-Boot-Anwendungen auf Linux-Systemen. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • So verpacken und implementieren Sie Springboot auf einem Linux-Server
  • So führen Sie Springboot im Hintergrund von Linux aus
  • Methoden und Schritte zum Bereitstellen eines Springboot-Projekts unter Linux
  • Bereitstellen des Spring Boot-Programms unter Linux
  • Detaillierte Erläuterung der Spring Boot Linux-Startmethode

<<:  Detaillierte Erläuterung der Verwendung von Gulp.js, einem leistungsstarken Tool für die Front-End-Aufgabenerstellung

>>:  Vorteile und Prinzipien der MySQL-Replikation im Detail erklärt

Artikel empfehlen

Einführung in useRef und useState in JavaScript

Inhaltsverzeichnis 1. useState-Hook 2. useRef-Hoo...

Eine kurze Analyse der vier Importmethoden und Prioritäten in CSS

Erstens: 4 Möglichkeiten, CSS einzuführen Es gibt...

JavaScript+HTML zur Implementierung eines Studenteninformationsmanagementsystems

Inhaltsverzeichnis 1. Einleitung 2. Rendern 3. Co...

So erzielen Sie mit Vue3 beispielsweise einen Lupeneffekt

Inhaltsverzeichnis Vorwort 1. Die Bedeutung der K...

Die Umsetzung von Youdas neuem Petite-Vue

Inhaltsverzeichnis Vorwort Einführung Live Einfac...

So implementieren Sie die Kommunikation zwischen Docker-Containern

Szenario: Eine Laradock-Entwicklungsumgebung (php...

Zusammenfassung des Front-End-Wissens im Gokudō-Spiel

Hintergrund Zu Beginn meines Japanisch-Lernens fi...

So erstellen Sie eine my.ini-Datei im MySQL 5.7.19-Installationsverzeichnis

Im vorherigen Artikel habe ich das ausführliche T...

Vue implementiert das Bild mit Schaltflächenwechsel

In diesem Artikelbeispiel wird der spezifische Co...