Verschiedene Probleme und Lösungen beim Bereitstellen von Tomcat zur Veröffentlichung von Projekten unter Linux

Verschiedene Probleme und Lösungen beim Bereitstellen von Tomcat zur Veröffentlichung von Projekten unter Linux

Bereitstellen des Projekts in der Testumgebung der Projektsite

JDK1.8
Tomcat8.5
Maven-Paketkrieg
Linux-----Centos
Ich weiß nicht, wer mir den Tomcat vor Ort gegeben, in das ******-Verzeichnis der Linux-Plattform hochgeladen und dekomprimiert hat. Direktstart

Abbildung 1:

Tomcat-Verzeichnisstruktur

Frage 1

Da dies das erste Mal ist, dass Tocmat gestartet wird, gibt es keine Protokolldatei. Starten Sie also ./startup.sh direkt. Sie können dann den folgenden Befehl verwenden, um die Protokollinformationen dynamisch anzuzeigen. Tipps nach der Ausführung Keine Ausführungsberechtigung

./startup.sh & tailf ../logs/catalina.out

Problemanalyse: Der aktuelle Benutzer hat keine Berechtigung zum Ausführen der ausführbaren Datei .sh

Problemlösung: Verwenden Sie den Befehl: chmod u+x *.sh. Ausführen im Verzeichnis tomcat/bin

Befehlsanalyse: Dies bedeutet, den Besitzern aller .sh-Dateien im aktuellen Verzeichnis Ausführungsberechtigungen hinzuzufügen.

  • chmod ist die Abkürzung für den Befehl zur Berechtigungsverwaltung, der den Berechtigungsmodus einer Datei ändert
  • u steht für Eigentümer;
  • x steht für die Ausführungsberechtigung;
  • „+“ zeigt das Hinzufügen von Berechtigungen an.
  • Sie können auch eine Datei separat angeben, zum Beispiel: chmod u+x abc.sh
  • Starten Sie es dann mit ./startup.sh.

Abbildung 2:

Es werden unzureichende Berechtigungen angezeigt.

Frage 2

Nach dem Start erscheint eine Fehlermeldung, dass die Datei im Verzeichnis ***** nicht gefunden werden kann.

Problemanalyse: Dieses Problem tritt auf, weil in der Datei server.xml von Tomcat mehrere Kontextumgebungen konfiguriert sind. Allerdings ist im angegebenen Verzeichnis kein Projekt bereitgestellt.

Problemlösung: Löschen Sie den gesamten Kontext in der Datei server.xml. Löschen Sie alle bereitgestellten Projekte im Tomcat-Verzeichnis „webapps“ und „wtpwebapps“. Starten Sie jetzt einfach eine separate E-Bank. Start erfolgreich, Zugriff auf 8080 erfolgreich.

Abbildung 3:

server.xml-Verzeichnis mit Kontext.

Frage 3

Fügen Sie den von Maven gepackten Krieg zu den Tomcat-Server-Webanwendungen hinzu. Dann starten Sie es. Aber der Fehlerport ist belegt.

Problemanalyse: Dieser Vorgang wird ausgeführt, ohne den vorherigen Schritt anzuhalten. Dies führt dazu, dass der Port belegt ist. Aber nach dem direkten Anhalten von Tomcat meldet es immer noch, dass der Port belegt ist

Problemlösung: Gehen Sie gewalttätiger vor:
Abfrage der ebank-Prozess-ID: ps aux|grep tomcat
Beenden Sie den Prozess direkt: kill-9 PID Beenden Sie den Tomcat-Prozess, danach kann er normal gestartet werden. Abbildung 4:

Fehlermeldung „Port belegt“

Frage 4

Obwohl es zu diesem Zeitpunkt normal gestartet werden kann, wird ein Fehler gemeldet: java.lang.OutOfMemoryError: PermGen-Speicherplatz (führt zu einem Speicherüberlauf, der zum Speicherüberlauf des permanenten Bereichs gehört).

Problemanalyse: Die Speicherparameter von Tomcat wurden zuvor nicht festgelegt. Das aktuell bereitgestellte Projekt belegt viel Speicher und lädt viele Klassen. Dies führt zu unzureichendem Speicher im permanenten Bereich.

Lösung: Kopieren Sie die Datei catalina.sh in das Bin-Verzeichnis von Tomcat, ändern Sie sie und sichern Sie die Originaldatei. Suchen Sie in der Datei catalina.sh nach der Position cygwin=false und fügen Sie den Parameter davor ein. Beachten Sie, dass die Anführungszeichen eingeschlossen werden müssen.
JAVA_OPTS="-Xms256m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=256m"
Ersetzen Sie die geänderte Datei in tomcat/bin.

Abbildung 5:

Fehlermeldung „Heap-Speicherüberlauf“

Abbildung 6:

Geänderter Inhalt der Datei catalina.sh

Frage 5

Zu diesem Zeitpunkt wird es neu gestartet, aber es wird angezeigt, dass die Datei catalina.sh nicht gefunden werden kann?

Problemanalyse: Weil die Ausführungsdatei catalina.sh in der Ausführungsdatei startup.sh aufgerufen wird. Dadurch wird der Tomcat-Dienst gestartet. Verwenden Sie dann den Befehl ll, um das Bin-Verzeichnis anzuzeigen. Das Problem bestand darin, dass die Datei catalina.sh keine ausführbare Datei mehr war. (Nicht grün) Problemlösung: Verwenden Sie chmod u+x catalina.sh erneut, um ihm Ausführungsberechtigungen zu erteilen.

Abbildung 7:

Rufen Sie in der Datei startup.sh die Ausführungsdatei catalina.sh auf

Abbildung 8: Die Abbildung verwendet hello.sh als Beispiel. (in Schwarz angezeigt, anders als catalina.sh)

Unterscheiden Sie, ob es sich um eine ausführbare Datei handelt

Frage 6

Der Start verlief zwar erfolgreich, allerdings konnte im Browser nicht auf das Projekt zugegriffen werden, der Zugriff auf 8080 war jedoch erfolgreich.

Problemanalyse: Im Webapps-Verzeichnis von Tomcat wurde festgestellt, dass jedes War-Paket nach der Dekomprimierung durch Tocmat eine Versionsnummer hat (das War-Paket wird durch Maven-Verpackung generiert und hat eine Versionsnummer). Lösung für das Problem, dass die vom Browser aufgerufene korrekte Adresse keine Versionsnummer enthält: Löschen Sie das Projekt und benennen Sie das War-Paket um. Beginnen Sie noch einmal. Bisher ist alles erfolgreich. Abbildung 8:

War-Projekt mit Versionsnummer im Webapps-Verzeichnis

Zusätzliche Befehle

Löschen Sie das Protokoll:

echo -n "" > ../logs/catalina.out
	Feste Syntax: echo -n "" >

Überprüfen Sie die Protokollgröße:

du -h ../logs/catalina.out
	Feste Syntax: du -h >

Dies ist das Ende dieses Artikels über die Lösung verschiedener Probleme beim Bereitstellen von Tomcat unter Linux und beim Freigeben von Projekten. Weitere relevante Inhalte zum Bereitstellen von Tomcat unter Linux finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die verwandten Artikel weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Linux (Center OS7) installiert JDK, Tomcat und MySQL, um eine Ausführungsumgebung für Java-Webprojekte zu erstellen.
  • Detailliertes grafisches Tutorial zur Installation und Deinstallation von Tomcat8 unter Linux
  • Schritte zum Überwachen des Tomcat-Status und zum automatischen Starten mithilfe von Shell-Skripten unter Linux
  • Installieren Sie Tomcat und stellen Sie die Website unter Linux bereit (empfohlen)
  • Linux (CentOS7) installiert Tomcat und legt Tomcat als Startobjekt fest (am Beispiel von Tomcat8).
  • Installieren Sie drei oder mehr Tomcats unter einem Linux-System (detaillierte Schritte)
  • So starten und stoppen Sie den Tomcat-Dienst durch Schreiben eines Shell-Skripts in einer Linux-Umgebung
  • So ändern Sie die Tomcat-Portnummer in Linux

<<:  JS implementiert einfache Addition und Subtraktion von Warenkorbeffekten

>>:  js implementiert eine Formularvalidierungsfunktion

Artikel empfehlen

So installieren Sie OpenSSH aus dem Quellcode in CentOS 7

Umgebung: Mindestinstallation von CentOS 7.1.1503...

Details zu verschiedenen Schriftformaten in HTML-Webseiten

Dieser Abschnitt beginnt mit den Details der Text...

Detaillierte Erklärung zum dynamischen Festlegen des Browsertitels in Vue

Inhaltsverzeichnis Unsinn Text Der erste router/i...

Super detaillierte Schritte zur Installation von Zabbix3.0 auf Centos7

Vorwort Vor Kurzem wurde ein Teil der Geschäftstä...

Analyse des Prinzips der Zentrierung von Elementen mit CSS

Es ist eine sehr häufige Anforderung, die horizon...

CSS Sticky Footer-Implementierungscode

Dieser Artikel stellt den Implementierungscode fü...

Auch Webdesigner müssen Web-Coding lernen

Oftmals wird nach der Fertigstellung eines Webdes...

Der Unterschied zwischen z-index: 0 und z-index: auto in CSS

Ich habe vor Kurzem etwas über Stapelkontexte gel...

Standard-CSS-Stil der XHTML-Sprache

html,Adresse, Blockzitat, Körper, dd, div, dl,dt,...

Detaillierte Erklärung zu anonymen Slots und benannten Slots in Vue

Inhaltsverzeichnis 1. Anonyme Slots 2. Benannte S...