Die übliche Methode zum Bereitstellen eines Springboot-Projekts auf einem Server besteht darin, es in ein War-Paket zu packen und in Tomcat bereitzustellen, oder es in ein JAR-Paket zu packen und das integrierte, einfach auszuführende Paket direkt zu verwenden. Viele Leute packen es jetzt in ein War-Paket und stellen es in Tomcat bereit. Obwohl diese Methode in Ordnung ist, ist die anschließende Wartung problematischer. Laut den offiziellen Anweisungen ist die Bereitstellung per Jar die beste Methode, aber das wirft ein weiteres Problem auf: Wenn mehrere Spring-Boot-Projekte gleichzeitig bereitgestellt werden und die Ports unterschiedlich sind, wie kann dann über den Domänennamen auf sie zugegriffen werden? Als nächstes wird Nginx benötigt. Nginx ist ein leistungsstarker HTTP- und Reverse-Proxy-Server sowie ein IMAP-/POP3-/SMTP-Server. Es eignet sich sehr gut für die Bereitstellung von Springboot. Die Installation von Nginx ist hier kein Tutorial. Die Hauptkonfiguration von nginx.conf ist angegeben Probe 1; Server { hören Sie 80; Servername 127.0.0.1; access_log Protokolle/Buch.log; Fehlerprotokollprotokolle/Buch.Fehler; #Leiten Sie die /wx-service-Anforderung an http://127.0.0.1:8011/wx-service weiter, um den Verarbeitungsort /wx-service { zu erreichen. Proxy_Set_Header Host $host; proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for; Proxy-Passwort http://127.0.0.1:8011/wx-service; } #Leiten Sie die /bootdo-Anforderung an http://127.0.0.1:8012/bootdo weiter, um den Speicherort /bootdo { zu verarbeiten. Proxy_Set_Header Host $host; proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for; Proxy-Passwort http://127.0.0.1:8012/bootdo; } #Leiten Sie die /xcloud-service-Anforderung an http://127.0.0.1:8013/xcloud-api weiter, um den Verarbeitungsort /xcloud-service { zu erreichen. Proxy_Set_Header Host $host; proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for; Proxy-Passwort http://127.0.0.1:8013/xcloud-api; } #Leiten Sie die /eureka-service-Anforderung an http://127.0.0.1:8081/eureka-service weiter, um den Verarbeitungsort /eureka-service { zu erreichen. proxy_pass http://127.0.0.1:8081/eureka-service; #Denken Sie daran, den Port hier auf das entsprechende Projekt zu ändern proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; Proxy_set_header X-Weitergeleitet-Proto $scheme; proxy_set_header X-Weiterleitungsport $server_port; } #Leite die /xcloud-api-Anforderung an http://127.0.0.1:8082/xcloud-api weiter, um den Verarbeitungsort /xcloud-api { zu erreichen. proxy_pass http://127.0.0.1:8082/xcloud-api; #Denken Sie daran, den Port hier auf das entsprechende Projekt zu ändern proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; Proxy_set_header X-Weitergeleitet-Proto $scheme; proxy_set_header X-Weiterleitungsport $server_port; } } Beispiel 2: Server { hören Sie 80; Servername localhost; #Zeichensatz koi8-r; #access_log Protokolle/Host.access.log Haupt; Standort / { Stamm-HTML; index.html index.htm index.php; } #Leiten Sie die /wvv-Anfrage an http://127.0.0.1:1992/wvv weiter, um den Verarbeitungsort /wvv { zu erreichen. Proxy_Set_Header Host $host; proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for; Proxy-Passwort http://127.0.0.1:1992/wvv; } } Wenn Sie mehrere SpringBoot-Projekte bereitstellen, können Sie die folgende Konfiguration mehrmals hinzufügen, solange Sie sie in einen anderen Pfad ändern #Leiten Sie die /wvv-Anfrage zur Verarbeitung an http://127.0.0.1:1991/project weiter Standort /Projekt{ Proxy_Set_Header Host $host; proxy_set_header X-Weitergeleitet-Für $proxy_add_x_forwarded_for; Proxy-Passwort http://127.0.0.1:1991/Projekt; } Ändern Sie den Port von nginx auf Port 80, und Sie können direkt darauf zugreifen. Der Domänenname kann localhost sein, was die lokale Lokalisierung/XXX darstellt. Dies dient zur Konfiguration der Portweiterleitung von nginx. Sie können so viele Projekte konfigurieren, wie Sie möchten. Sie können die Projekte hier auch in Tomcat konfigurieren. Führen Sie gemäß der obigen Konfiguration ./nginx -s reload im sbin-Verzeichnis aus, um die nginx-Konfiguration zu aktualisieren, und dies wird wirksam. Hier ist ein getestetes und effektives Spring-Boot-Schnellneustart-Shellskript export JAVA_HOME=/usr/local/java/jdk1.8.0_162 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar Port=8081 JarName=clouddo-server.jar LogsPatch=./logs_$Port ID=`ps -ef | grep $Port | grep -v "grep" | awk '{print $2}'` echo $ID Echo "---------------" für ID in $ID Tun töten -s 9 $id echo "$id getötet" Erledigt Echo "---------------" rm -rf $LogsPatch mkdir $LogsPatch export LANG=zh_CN.UTF-8 setze -m nohup java -jar -Dlogging.path=$LogsPatch $JarName>$LogsPatch/catlina.out 2>&1 & tail -f $LogsPatch/catlina.out Speichern Sie es und benennen Sie es als xx.sh Es wird empfohlen, unter nginx einen separaten Ordner mit dem Namen des Projekts zu erstellen, das JAR-Paket darin abzulegen und dann das JAR-Paket zu starten. Denken Sie daran, dass das Springboot-Projekt in der Konfigurationsdatei konfiguriert werden muss
Die Standardeinstellung für Spring Boot ist /, sodass Sie die Indexseite direkt über http://ip:port/ aufrufen können. Wenn wir jedoch mehrere Projekte über nginx konfigurieren möchten, müssen wir den Kontextpfad für jedes Projekt separat angeben. Erstellen Sie einen neuen Ordner im Serververzeichnis entsprechend Ihren persönlichen Vorlieben, um das von Spring-Boot gepackte JAR und das Neustartskript ähnlich diesem zu speichern Dies erleichtert die Verwaltung des Protokollverzeichnisses, also des Protokollordners, der nach dem Ignorieren des Startskripts generiert wird. Ein Projekt entspricht einem Ordner, der das Projekt-JAR und ein Shell-Skript zum Neustarten enthält. Auf diese Weise können Sie mehrere Springboot-Projekte gleichzeitig im Hintergrund starten und über einen Domänennamen auf diese Projekte zugreifen. Wenn Sie die Protokolle in Echtzeit anzeigen möchten, gehen Sie bitte in das Protokollverzeichnis jeder Projektdatei und führen Sie Folgendes aus: Sie können es mit tail -f catlina.out überprüfen. Wenn es einen Mangel gibt, weisen Sie mich bitte darauf hin und verzeihen Sie mir ... Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Workerman schreibt den Beispielcode des MySQL-Verbindungspools
>>: MySQL 8.0.19 Installations-Tutorial
1. Was ist die Hyperlink-Symbol-Spezifikation ?&l...
Inhaltsverzeichnis 01 Einführung in Atomic DDL 02...
<br />Wenn XHTML und CSS nur objektorientier...
Installieren Sie MySQL und machen Sie sich Notize...
<Text> <div id="Wurzel"> &l...
Inhaltsverzeichnis Vorwort Was ist Deno? Vergleic...
Inhaltsverzeichnis Warum brauchen wir Partitionen...
Inhaltsverzeichnis Vorwort SVG generieren Einführ...
Inhaltsverzeichnis 1. Installieren Sie VMware 1.1...
Ein Kollege bat mich, ihm dabei zu helfen, heraus...
Datenbanksicherung #Grammatik: # mysqldump -h ser...
Notieren Sie die Probleme, die Sie für andere lös...
Wenn Sie ein Webprojekt entwickeln, müssen Sie II...
1. Grundlegende Spezifikationen (1) Es muss die I...
Inhaltsverzeichnis 1. Boolesche Werte 2. Ausdruck...