Vorwort Tomcat ist ein hervorragender Java-Container, dennoch gibt es einige kleine Fallstricke, die sich nicht vermeiden lassen. Ich werde sie hier aufzeichnen. START Frage
Szenariobeschreibung 1. Unter Webapps gibt es zwei Projekte, Projekt A und Projekt B. Mit Ausnahme der Verwaltungsinformationsschnittstelle verfügen die beiden anderen Projekte über Sicherheitsüberprüfungsmechanismen. 2. Da projectA nicht vom Front-End und Back-End getrennt ist, sind die statischen Ressourcen auch im Java-Projekt vorhanden. Bei Schnittstellenanforderungen in statischen Ressourcen wird der Paketname nicht geschrieben. Beispielsweise verkettet der JS-Code beim Anmelden die Server-IP+Port+aktuell festgelegte URL (/login), fügt aber nicht /projectA vor /login hinzu. Daher gibt es beim Testen auf dem lokalen Computer kein Problem, und ein solches Problem tritt nur beim Bereitstellen auf. Dies ist auch ein Problem, das weiter unten gelöst wird. 3.projectB ist ein normal laufendes Projekt Lösung für Szenario 2 Öffnen Sie die Konfigurationsdatei in Tomcat und fügen Sie <Context> im Tag <Host> hinzu, um es als Standardzugriffspfad des Servers festzulegen und so den Paketnamen zu vermeiden. Diese Methode ist jedoch äußerst informell und wird nicht empfohlen. <Hostname="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <!-- SingleSignOn-Ventil, gemeinsame Authentifizierung zwischen Webanwendungen Dokumentation unter: /docs/config/valve.html --> <!-- <Valve-Klassenname="org.apache.catalina.authenticator.SingleSignOn" /> --> <!-- Beispiel: Das Zugriffsprotokoll verarbeitet alle Daten. Dokumentation unter: /docs/config/valve.html Hinweis: Das verwendete Muster entspricht der Verwendung von pattern="common" --> <Valve-Klassenname="org.apache.catalina.valves.AccessLogValve" Verzeichnis="Protokolle" Präfix="localhost_access_log" Suffix=".txt" Muster="%h %l %u %t "%r" %s %b" /> <Kontextpfad="" docBase="/usr/tomcat8.6/webapps/sc_edu" debug="0" reloadable="true"/> </Host> Code Erklärung <Kontextpfad="" docBase="/usr/tomcat8.6/webapps/sc_edu" debug="0" reloadable="true"/>
Dann besteht unsere Lösung darin, einen weiteren Tomcat zu installieren und nur Projekte bereitzustellen, die eine direkte Pfadzuordnung erfordern Dadurch wird das Verzeichnis wiederhergestellt, in dem sich Tomcat befindet, und der Befehl cp kopiert $> cp -r tomcat8.5/ tomcat8.6/ Verschieben Sie dann ProjektA in Tomcat8.5 nach Tomcat8.6. Löschen Sie tomcat8.5 <Kontextpfad="" docBase="/usr/tomcat8.6/webapps/sc_edu" debug="0" reloadable="true"/> In Tomcat8.6 müssen die folgenden Änderungen an service.xml vorgenommen werden. Ändern Sie den Port, der dem Herunterfahren entspricht, auf 8006, solange dieser sich von Tomcat8.5 unterscheidet und der Port keine Konflikte verursacht. <Server-Port="8006" shutdown="HERUNTERFAHREN"> Ändern Sie den Port entsprechend der Anforderung. Das Prinzip ist das gleiche wie oben. <Anschlussport="8081" Protokoll="HTTP/1.1" VerbindungsTimeout="20000" UmleitungsPort="8443" /> Der Inhalt im <Host>-Tag wird kopiert und muss in den entsprechenden Mapping-Pfad geändert werden. Auf diese Weise können zwei Tomcats gleichzeitig ausgeführt werden, ohne dass sich das Starten und Herunterfahren gegenseitig beeinflusst. 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:
|
<<: Detaillierte Anweisungen zum Download und Installationsprozess von MySQL 5.7.18
Mit dem Tag <tfoot> wird der Stil der Tabel...
Es gibt zwei Möglichkeiten, schreibgeschützte Eing...
Vorwort Bei der Entwicklung kleiner Programme müs...
Der Grund für das Schreiben dieses Artikels ist, ...
vorgenannt Dieser Artikel ist sehr kurz~ Der Haup...
Vorwort tcpdump ist ein bekanntes Befehlszeilento...
F: Wenn Sie Outlook oder IE verwenden, wird beim ...
Nach der Veröffentlichung von CentOS8.0-1905 habe...
1. Einführung in KVM Die Abkürzung für Kernel-bas...
Es wird in Form von WeChat-Komponenten bereitgest...
Inhaltsverzeichnis Problembeschreibung Was ist di...
Heutzutage erlauben viele Websites nicht das direk...
1. Werkzeuge Wir benötigen jetzt zwei Tools: MySQ...
1. Was nützt eine langsame Abfrage? Es kann alle ...
In diesem Artikel finden Sie das Tutorial zur man...