Tomcat-Fehleranalyse unter Linux
Problemphänomen:
Tomcat (8.5.13) hat SuperMap iServer bereitgestellt und die Anzahl der gleichzeitigen Benutzer beträgt etwa 100. Nachdem das System eine Weile in Betrieb war, stürzt der Dienst ab. Ausnahme-Eingabeaufforderung
Problemanalyse:
1 Nachdem ich die Eingabeaufforderungsinformationen im Protokoll gesehen hatte, dachte ich, die Ursache sei unzureichender Systemspeicher. Daher wurde dem Server ein Überwachungsskript hinzugefügt (wie unten gezeigt), um den Systemspeicher und den Tomcat-Speicher jede Sekunde aufzuzeichnen.
Nach einer gewissen Zeit der Überwachung trat die Ausnahme erneut auf. Im Protokoll wurde keine Speicherausnahme gefunden
2. Nachdem der Speicher ausgeschlossen wurde, stellt sich die Frage, ob die Anzahl der Prozesse aufgrund zu vieler gleichzeitiger Benutzer überschritten wird?
1) Überprüfen Sie die Ressourcenlimitparameter des aktuellen Linux-Benutzers ulimit -a
2) Unter den oben genannten Parametern ist derjenige, dem mehr Aufmerksamkeit geschenkt wird ist ein Prozess Die maximale Anzahl von Dateien, die geöffnet werden können, dh geöffnete Dateien. Die maximale Anzahl von Prozessen, die vom System erstellt werden dürfen, ist der Parameter „maximale Benutzerprozesse“. Wir können ulimit -u 4096 verwenden, um den Wert der maximalen Benutzerprozesse zu ändern, dies wird jedoch nur in der Sitzung des aktuellen Terminals wirksam. Nach der erneuten Anmeldung wird weiterhin der Systemstandardwert verwendet.
Der richtige Weg, es zu ändern, besteht darin, den Wert in der Datei /etc/security/limits.d/90-nproc.conf zu ändern. Schauen wir uns zunächst an, was diese Datei enthält:
$ cat /etc/security/limits.d/90-nproc.conf # Default limit for number of user's processes to prevent # accidental fork bombs. # See rhbz #432903 for reasoning. * soft nproc 4096
Wir müssen nur den Wert 4096 in der obigen Datei ändern.
Eine Untersuchung ergab, dass dies tatsächlich daran lag, dass die vom aktuellen Benutzer des Servers festgelegte maximale Anzahl von Prozessen zu gering war, was dazu führte, dass der Server keine Prozesse erstellen konnte und abstürzte.
Referenz:
linux Aktuellen Prozess anzeigen:
Das obige ist der detaillierte Inhalt vonTomcat-Fehleranalyse unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Um ein JAR-Projekt auf Tomcat bereitzustellen, führen Sie die folgenden Schritte aus: Laden Sie Tomcat herunter und entpacken Sie es. Konfigurieren Sie die Datei server.xml, legen Sie den Port und den Projektbereitstellungspfad fest. Kopiert die JAR-Datei in den angegebenen Bereitstellungspfad. Starten Sie Tomcat. Greifen Sie über die bereitgestellte URL auf das bereitgestellte Projekt zu.

Um dem Tomcat-Server den Zugriff auf das externe Netzwerk zu ermöglichen, müssen Sie Folgendes tun: Ändern Sie die Tomcat-Konfigurationsdatei, um externe Verbindungen zuzulassen. Fügen Sie eine Firewallregel hinzu, um den Zugriff auf den Tomcat-Server-Port zu ermöglichen. Erstellen Sie einen DNS-Eintrag, der den Domänennamen auf die öffentliche IP des Tomcat-Servers verweist. Optional: Verwenden Sie einen Reverse-Proxy, um Sicherheit und Leistung zu verbessern. Optional: Richten Sie HTTPS für mehr Sicherheit ein.

Tomcat-Installationsverzeichnis: Standardpfad: Windows: C:\Programme\Apache Software Foundation\Tomcat 9.0macOS:/Library/Tomcat/Tomcat 9.0Linux:/opt/tomcat/tomcat9 Benutzerdefinierter Pfad: Sie können ihn während der Installation angeben. Suchen Sie das Installationsverzeichnis: Verwenden Sie den Befehl „whereis“ oder „locate“.

Um mehrere Projekte über Tomcat bereitzustellen, müssen Sie für jedes Projekt ein Webapp-Verzeichnis erstellen und dann: Automatische Bereitstellung: Platzieren Sie das Webapp-Verzeichnis im Webapps-Verzeichnis von Tomcat. Manuelle Bereitstellung: Stellen Sie das Projekt manuell in der Manager-Anwendung von Tomcat bereit. Sobald das Projekt bereitgestellt ist, kann über seinen Bereitstellungsnamen darauf zugegriffen werden, zum Beispiel: http://localhost:8080/project1.

So überprüfen Sie die Anzahl gleichzeitiger Tomcat-Verbindungen: Besuchen Sie die Tomcat Manager-Seite (http://localhost:8080/manager/html) und geben Sie Ihren Benutzernamen und Ihr Passwort ein. Klicken Sie in der linken Navigationsleiste auf Status->Sitzungen, um oben auf der Seite die Anzahl der gleichzeitigen Verbindungen anzuzeigen.

Das Stammverzeichnis der Tomcat-Website befindet sich im Unterverzeichnis webapps von Tomcat und wird zum Speichern von Webanwendungsdateien und statischen Ressourcen verwendet. Das Verzeichnis WEB-INF kann durch Suchen nach dem docBase-Attribut in der Tomcat-Konfigurationsdatei gefunden werden.

Die Tomcat-Portnummer kann angezeigt werden, indem das Portattribut des <Connector>-Elements in der Datei server.xml überprüft wird. Besuchen Sie die Tomcat-Verwaltungsoberfläche (http://localhost:8080/manager/html) und sehen Sie sich die Registerkarte „Status“ an. Führen Sie „catalina.sh version“ über die Befehlszeile aus und sehen Sie sich die Zeile „Port:“ an.

Das Ausführen von Projekten mit unterschiedlichen Portnummern auf dem Tomcat-Server erfordert die folgenden Schritte: Ändern Sie die Datei server.xml und fügen Sie ein Connector-Element hinzu, um die Portnummer zu definieren. Fügen Sie ein Kontextelement hinzu, um die mit der Portnummer verknüpfte Anwendung zu definieren. Erstellen Sie eine WAR-Datei und stellen Sie sie im entsprechenden Verzeichnis bereit (webapps oder webapps/ROOT). Starten Sie Tomcat neu, um die Änderungen zu übernehmen.
