为什么Tomcat不会绑定到关闭端口(8005)?

use*_*751 6 tomcat

Tomcat启动并运行得很好但从不绑定到8005关闭端口.因此,我只能通过杀死它来结束它.

我正在启动Tomcat:

catalina.sh start
Run Code Online (Sandbox Code Playgroud)

要么:

startup.sh
Run Code Online (Sandbox Code Playgroud)

结果是一样的.

Server.xml片段:

<Server port="8005" shutdown="SHUTDOWN">
Run Code Online (Sandbox Code Playgroud)

Catalina.out片段:

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
Run Code Online (Sandbox Code Playgroud)

注意:Apache绑定到8443和8080,它通过8009连接到tomcat

$ netstat -ln | grep 8005:
<nothing>
Run Code Online (Sandbox Code Playgroud)

是否应该出现绑定或未能绑定到端口8005的某些指示catalina.out

我可能在server.xml中引入了某种语法错误,它允许它绑定到8009连接器而不是8005?

我在这里不知所措,因为没有错误被抛出,任何建议都会有所帮助.

编辑:为响应提供的链接路由器,我添加了上面的"我正在启动Tomcat"并尝试:

startup.sh &
Run Code Online (Sandbox Code Playgroud)

仍然没有绑定到端口8005,结果似乎在所有情况下都是相同的.

kal*_*ech 14

很可能你的Tomcat实例由于某种原因没有完全启动,并且从未达到启动关闭监听器的程度.你发布了整个开始日志吗?通常,最后一条消息类似于" XXX ms中的服务器启动 ".我注意到关闭监听器只在最后启动.

最常见的原因是在您的一个Web应用程序初始化中挂起或延迟.