2013-08-20 4 views
5

Tomcat startet und läuft gut, bindet aber niemals an den 8005-Shutdown-Port. Folglich kann ich es nur beenden, indem ich es töte.Warum Tomcat nicht an den Shutdown-Port (8005) binden wird?

Ich beginne Tomcat mit:

catalina.sh start 

oder:

startup.sh 

Die Ergebnisse sind identisch.

Server.xml Schnipsel:

<Server port="8005" shutdown="SHUTDOWN"> 

catalina.out Schnipsel:

Aug 20, 2013 4:55:18 PM org.apache.catalina.core.AprLifecycleListener init 
INFO: 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 
Aug 20, 2013 4:55:19 PM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["ajp-bio-8009"] 
Aug 20, 2013 4:55:19 PM org.apache.catalina.startup.Catalina load 
INFO: Initialization processed in 2209 ms 
Aug 20, 2013 4:55:19 PM org.apache.catalina.core.StandardService startInternal 
INFO: Starting service Catalina 
Aug 20, 2013 4:55:19 PM org.apache.catalina.core.StandardEngine startInternal 
INFO: Starting Servlet Engine: Apache Tomcat/7.0.42 

$ netstat -ln snippet: 

tcp  0  0 :::8443     :::*     LISTEN 
tcp  0  0 :::8009     :::*     LISTEN 
tcp  0  0 :::8080     :::*     LISTEN 

Hinweis: Apache zu 8443 und 8080 gebunden ist, es zu tomcat über 8009

$ netstat -ln | grep 8005: 
<nothing> 
verbindet

Sollte in catalina.out ein Hinweis auf Bindung oder fehlgeschlagener Bindung an Port 8005 angezeigt werden?

Gibt es eine Art Syntaxfehler, den ich möglicherweise in server.xml eingeführt habe, die es erlauben würde, an den 8009-Connector zu binden, aber nicht an 8005?

Ich bin hier ratlos, weil keine Fehler geworfen werden, wäre jeder Vorschlag hilfreich.

EDIT: Als Reaktion auf den Link Router bereitgestellt ich das oben „Ich beginne Tomcat mit“ hinzugefügt und auch versucht:

startup.sh & 

Noch keine Bindung an Port 8005, erschien Ergebnisse in allen Fällen identisch zu sein .

+0

8009 ist der Standard-AJP-Port. – DwB

+0

Haben Sie versucht, das Shutdown-Skript auszuführen, um Tomcat zu beenden? – DwB

+0

Ja, die catalina.sh und shutdown.sh versuchen beide, sich mit Port 8005 zu verbinden, um tomcat zu beenden. Sie beide scheitern wegen "Verbindung abgelehnt", weil Tomcat nicht gebunden hat, um auf Port 8005 zu hören. – user2700751

Antwort

12

Wahrscheinlich ist Ihre Tomcat-Instanz aus irgendeinem Grund nicht vollständig gestartet und ist nie an dem Punkt angelangt, an dem sie den Shutdown-Listener gestartet hat. Hast du dein gesamtes Startprotokoll gepostet? Normalerweise ist die allerletzte Nachricht etwas wie "Serverstart in XXX ms". Ich habe bemerkt, dass der Shutdown-Listener erst ganz am Ende gestartet wird.

Der häufigste Grund ist etwas, das bei einer Ihrer Webanwendungsinitialisierungen hängen bleibt oder sich verzögert.

3

Lösung von DwB in Kommentaren versehen:

  1. Tomcat bindet nicht an den Shut-Down-Port (8005), so dass ist nicht wirklich ein Indikator für ein Problem
  2. Das Problem mit einem unserer Web-Anwendungen war Es verhinderte, dass Tomcat den Shutdown-Port einrichten konnte. Durch das Trimmen von Webapps aus der Datei server.xml konnten wir Tomcat herunterfahren.
Verwandte Themen