Lösen Sie schnell das Problem des langsamen Starts nach der Tomcat-Neukonfiguration

Lösen Sie schnell das Problem des langsamen Starts nach der Tomcat-Neukonfiguration

Während der Konfiguration des Jenkins+Tomcat-Servers wurde die Tomcat-Konfigurationsdatei geändert. Als ich dann auf die Tomcat-Seite des Servers zugegriffen habe, stellte ich fest, dass sie überhaupt nicht geladen werden konnte

Versuchen Sie, Tomcat neu zu starten

/opt/tomcat/bin/shutdown.sh

Der folgende Fehler tritt auf

[root@izbp1fmfc2pdjiw9u143xfz conf]# /opt/tomcat/bin/shutdown.sh Catalina_base:/opt/tomcat mit Catalina_home:/opt/tomcat unter Verwendung von Catalina_tmpdir:/opt/temp/temp/temp/temp/temp/temp. OpenJDK mit ClassPath: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar 二月 20, 2020 1:37:22 下午 org.apache.catalina 37:22 下午 org.apache.catalina ava.net.abstractPlainsocketimpl.connecttoaddress (AbstractPlainsocketimpl.java:206) bei Java.net.AbstractPlainsocketimpl.Connect (AbstractPrainesocketimpl.java:188) bei Java.net.Net.SocksockSocketimPl.Connect.Connect.Connekt. Connect (Socket.java:607) unter java.net.socket.connect (socket.java:556) unter java.net.socket. Ava: 504) bei sun.reflect.nativemethodaccessorimpl.invoke0 (native Methode) bei sun.reflect.nativemethodaccessorimpl.invoke (nativemethodaccessorimpl.java:62) bei suneflect.delimetr. ang.reflect.method.invoke (method.java:498) at org.apache.catalina.startup.bootstrap.stopserver (bootstrap.java:389) at org.apache.catalina.startup.bootstrap.main (bootstrap.java:479)

Nach der Überprüfung liegt der Grund für diesen Fehler darin, dass Tomcat noch nicht gestartet wurde.

Als nächstes habe ich versucht, Tomcat zwangsweise herunterzufahren

ps -ef | grep tomcat Zeigt die Tomcat-Prozessnummer an kill -9 + Prozessnummer, um den Prozess zu beenden

Starten Sie Tomcat neu

/opt/tomcat/bin/startup.sh

Tomcat-Seite kann immer noch nicht geladen werden

Tomcat-Laufprotokoll drucken

[root@izbp1fmfc2pdjiw9u143xfz conf]# cd /opt/tomcat [root@izbp1fmfc2pdjiw9u143xfz tomcat]# ls bin BUILDING.txt conf CONTRIBUTING.md lib LICENSE logs NOTICE README.md RELEASE-NOTES RUNNING.txt temp webapps work [root@izbp1fmfc2pdjiw9u143xfz tomcat]# cd logs [root@izbp1fmfc2pdjiw9u143xfz logs]# ls catalina.2020-02-20.log host-manager.2020-02-20.log localhost_access_log.2020-02-20.txt catalina.out localhost.2020-02-20.log manager.2020-02-20.log [root@izbp1fmfc2pdjiw9u143xfz logs]# tail -f catalina.out 20-Feb-2020 13:48:35.239 信息[main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/opt/tomcat 20-Feb-2020 13:48:35.239 信息[main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/opt/tomcat 20-Feb-2020 13:48:35.239 信息[main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/opt/tomcat/temp 20-Feb-2020 13:48:35.239 信息[main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib] 20-Feb-2020 13:48:35.348 信息[main] org.apache.coyote.AbstractProtocol.init 初始化协议处理器["http-nio-8080"] 20-Feb-2020 13:48:35.391 信息[main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read 20-Feb-2020 13:48:35.403 信息[main] org.apache.catalina.startup.Catalina.load Initialization processed in 895 ms 20-Feb-2020 13:48:35.487 信息[main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina] 20-Feb-2020 13:48:35.487 信息[main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.51 20-Feb-2020 13:48:35.524 信息[localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory 把web 应用程序部署到目录[/opt/tomcat/webapps/docs]

Das laufende Protokoll bleibt in der letzten Zeile hängen: localhost-startStop-1 und kann nicht weiter nach unten fortgesetzt werden

Lösung:

Ändern Sie den Parameter securerandom.source in der Datei $ JAVA_HOME / jre / lib / security / java.security in die Datei: /dev/./urandom

[root@izbp1fmfc2pdjiw9u143xfz-Protokolle]# cd $JAVA_HOME/jre/lib/security
[root@izbp1fmfc2pdjiw9u143xfz Sicherheit]# ls
blacklisted.certs cacerts java.policy java.security nss.cfg Richtlinie
[root@izbp1fmfc2pdjiw9u143xfz Sicherheit]# vi java.security

Hier ist übrigens eine schnelle Möglichkeit zur Suche in vi:

Geben Sie im Befehlsmodus „/Zeichenfolge“ ein, zum Beispiel „/Abschnitt 3“. Um nach dem nächsten zu suchen, drücken Sie einfach "n".

Zusammenfassen

Oben finden Sie ausführliche Informationen dazu, wie Sie das Problem des langsamen Starts von Tomcat nach der Neukonfiguration schnell lösen können. Weitere Informationen zum langsamen Start von Tomcat finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Detaillierte Analyse, wann Tomcat das Antwortdatagramm zurückschreibt
  • Detaillierte Analyse von Problemen mit der Nichtreaktion von Tomcat und entsprechende Lösungen
  • Lösungen für das Problem, dass geplante Spring-Aufgaben zweimal ausgeführt werden und Tomcat langsam bereitgestellt wird
  • Lösung für den langsamen Start von Tomcat8 im Linux-System
  • Lösung für das Problem, dass SecureRandom beim Start von Tomcat sehr langsam ist
  • Analyse und Lösung des langsamen Zugriffs auf den Tencent Cloud Ubuntu-Server Tomcat
  • Lösung für die langsame Reaktion des Tomcat-Servers

<<:  Detailliertes Tutorial zur Installation von MySQL unter WINDOWS

>>:  Verwenden von Vue zum Implementieren einer Timerfunktion

Artikel empfehlen

Zwei Möglichkeiten zum Deklarieren privater Variablen in JavaScript

Vorwort JavaScript unterscheidet sich von anderen...

Detaillierte Erklärung der verschiedenen Verwendungen von proxy_pass in nginx

Inhaltsverzeichnis Proxy-Weiterleitungsregeln Der...

Hinweise zur Verwendung von $refs in Vue-Instanzen

Während des Entwicklungsprozesses verwenden wir h...

So fügen Sie Docker dynamisch Ports hinzu, ohne das Image neu zu erstellen

Manchmal müssen Sie während des Betriebs freigege...

So zeigen Sie den Startparameterbefehl „Docker Run“ an (empfohlen)

Verwenden Sie runlike, um die Docker Run-Startpar...

PostgreSQL-Materialisierte Ansichtsprozessanalyse

Dieser Artikel stellt hauptsächlich die Prozessan...

Die Verbindung zwischen JavaScript und TypeScript

Inhaltsverzeichnis 1. Was ist JavaScript? 2. Wofü...

Details zur Verwendung der JS-Tag-Syntax

Inhaltsverzeichnis 1. Einführung in Label-Anweisu...

Spezifische Verwendung von Nginx Keepalive

Der Standardanforderungsheader des http1.1-Protok...