Das Lernen von Springboot ist endlich zu Ende, aber es lässt uns immer noch eine Frage, dh, wie sollte das Programm auf dem Linux -Server bereitgestellt werden. Wird das Programm nach dem Start des Programms mit dem Befehl heruntergefahren, wenn SSH getrennt ist? Das erste Problem ist leichter zu lösen. Sie müssen nur sicherstellen, dass der JDK korrekt installiert ist und es keine großen Probleme geben wird. Das schwierige Problem ist das letztere. Der Schlüssel zur Lösung des Problems besteht darin, sicherzustellen, dass das Programm in einem Daemon -Prozess (Hintergrund) ausgeführt wird. Dieses Mal werde ich mitteilen, wie ich Programme unter Linux korrekt bereitstellen kann
Um dieses Problem zu lösen, habe ich die Informationen im Internet überprüft und die folgenden 3 Lösungen gefunden
1 Paketglas in den Systemdienst (nicht empfohlen)
Der Nachteil dieser Methode ist auch ziemlich offensichtlich, dh der Service neigt dazu, nicht begonnen zu werden, da verschiedene Linux -Verteilungen mehr oder weniger Unterschiede in gleichem Maße aufweisen.
2 Verwenden Sie den Befehl nohup, um mit Kill -9 xxx zusammenzuarbeiten
Diese Methode ist einfacher zu akzeptieren und ist auch ein Kompromiss, aber es wird schwieriger sein, das Programm zu stoppen und den Befehl zu verwenden, um den Prozess zu finden und dann Kill -9 zu verwenden.
3 Verwenden Sie den Bildschirm, TMUX usw. (empfohlen)
In Anbetracht dieser Methode ist sie wissenschaftlicher, da sie eine einheitliche Schnittstelle und entsprechende Funktionen zur Verwaltung mehrerer Sitzungen bietet, die leichter zu bedienen sind. Der Nachteil ist, dass es ein wenig Lernkosten erfordert.
Häufig verwendete TMUX -Befehle:
$ tmux New -S -Sitzungsname Erstellen Sie eine neue Sitzung
$ tmux a -t Sitzungsname Zugriff auf die angegebene Sitzung
$ tmux detach /$ ctrl-b d Die aktuelle Sitzung trennen
$ tmux Kill-Session -t-Sitzungsname Schließen Sie die Sitzung
$ tmux ls zeigen alle Sitzungen
Gemeinsame Bildschirmbefehle:
$ screen -S -Fenstername Erstellen Sie eine neue Sitzung
$ Bildschirm -r -Sitzungsnummer oder -name, um auf die angegebene Sitzung/Wiederverbindung zuzugreifen
$ screen -ls zeigen alle Sitzungen an
Strg+AB trennen die aktuelle Sitzung
Strg+AK
Das Folgende sind ihre Unterschiede. Obwohl TMUX fortgeschrittener ist, hängt die Auswahl der Nutzungsgewohnheiten aller davon ab
TMUX ist dem Bildschirm sehr ähnlich, aber besser als Bildschirm. Um zu fragen, wo die guten Dinge sind, ist die einfache Antwort, dass die Funktionen des Bildschirms zwar gleich sind, TMUX jedoch besser gestaltet ist. Der Bildschirm ist verfügbar, aber nicht stabil.
Hier sind einige Orte, an denen TMUX über den Bildschirm hinausgeht:
Springboot ist bequemer, Maven zum Verpacken zu verwenden. Überprüfen Sie die Konfiguration von pom.xml bei der Verpackung, um sicherzustellen, dass die folgenden Konfigurationen vorliegen:
<build> <plugins> <plugin> <GroupId> org.springFramework <ausführbare> true </ausführbare> </configuration> </plugin> </plugins> lt;/build>
Verwenden Sie einfach Maven Install für Verpackungen. Wenn das Paket das entsprechende Glas erfolgreich findet und umbenannt, laden Sie es zur Autorisierung auf den Linux -Server hoch.
Auf diese Weise wird die Anwendung gestartet, auch wenn die Befehlszeile von SSH geschlossen oder getrennt ist, hat sie keinen Einfluss auf den normalen Betrieb des Programms.
Trennen
Nach Abschluss der Sitzung wird das Programm heruntergefahren, wie unten gezeigt
Die Verwendung des Bildschirms ähnelt TMUX. Hier wurde es praktiziert, daher stelle ich das Programm so ein, dass ich im Hintergrund ausgeführt werden kann. Der Effekt der Auswahl von Bildschirm und TMUX ist ähnlich.
PS: Hier ist eine Beschreibung des Bereitstellungseinsatzes von Spring-Boot in Linux
Zuerst reinigen Maven das Projekt, dann in ein JAR -Paket des Projekts in ein JAR -Paket und löschen Sie dann die vorherige Version des Prozesses unter Linux.
Überprüfen Sie den Befehl ps -ef | Grep Java
Tötenprozess Kill -9 -Prozessnummer töten
Führen Sie das Spring -Boot -Projekt direkt Nohup Java -Jar Sinocube.jar aus und verwenden Sie Nohup, um mit & zu enden
NoHup kehrt zurück, um Protokolldateien auszugeben. Die Protokolldatei kann den Dateinamen anpassen. Standard ist nohup.nohup.out
Cat Nohup.out Ansicht Protokoll