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

Beispiele und Vergleich von 3 Methoden zur Deduplizierung von JS-Objekt-Arrays

Inhaltsverzeichnis 1. Vergleich der Daten vor und...

Kapitel zur Entwicklung von WeChat-Applets: Fallstricke

Vor kurzem habe ich an der Entwicklung des ersten...

Node implementiert Suchfeld für Fuzzy-Abfragen

In diesem Artikelbeispiel wird der spezifische Co...

Zusammenfassung der Grundsätze zum Schreiben von HTML-Seiten für E-Mails

Da HTML-E-Mail keine unabhängige HOST-Seite auf di...

Vue+echarts realisiert Fortschrittsbalken-Histogramm

In diesem Artikel wird der spezifische Code von v...

Installieren Sie Ubuntu 18 ohne USB-Laufwerk unter Windows 10 mit EasyUEFI

1. BIOS überprüfen Überprüfen Sie zunächst, in we...

MySQL ändert die Standard-Engine und Zeichensatzdetails

Inhaltsverzeichnis 1. Datenbankmodul 1.1 Datenban...

So implementieren Sie einen Animationsübergangseffekt im Frontend

Inhaltsverzeichnis Einführung Traditionelle Überg...

So verwenden Sie Nginx als Load Balancer für MySQL

Hinweis: Die Nginx-Version muss 1.9 oder höher se...

Detaillierte Erklärung der wichtigsten Einzigartigkeit von v-for in Vue

Inhaltsverzeichnis 1. DOM-Diff 2. Fügen Sie Eleme...

Implementierung der Bereitstellung eines privaten Docker-Warehouse-Registrars

Da immer mehr Docker-Images verwendet werden, mus...

Schreiben Sie eine dynamische Uhr auf einer Webseite in HTML

Verwenden Sie HTML, um eine dynamische Web-Uhr zu...

Zwei Methoden zum Strecken des Hintergrundbilds einer Webseite

Es gibt zwei Lösungen: Eine Möglichkeit ist CSS, b...