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

时间:2013-08-20 16:59:42

标签: tomcat

Tomcat启动并运行正常但从未绑定到8005关闭端口。因此,我只能通过杀死它来结束它。

我正在使用:

启动Tomcat
catalina.sh start

或:

startup.sh

结果完全相同。

Server.xml片段:

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

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

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

$ netstat -ln | grep 8005:
<nothing>

catalina.out

中是否会显示绑定或未能绑定到端口8005的某些指示

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

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

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

startup.sh &

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

2 个答案:

答案 0 :(得分:14)

很可能您的Tomcat实例由于某种原因尚未完全启动,并且从未达到它启动关闭侦听器的程度。你发布了整个开始日志吗?通常,最后一条消息类似于“服务器启动时间为XXX毫秒”。我注意到关闭监听器只在最后开始。

最常见的原因是在您的某个Web应用程序初始化中出现挂起或延迟的情况。

答案 1 :(得分:4)

DwB在评论中提供的解决方案:

  1. Tomcat未绑定到其关闭端口(8005),因此实际上并不是问题的指示
  2. 问题在于我们的某个网络应用程序,它阻止了tomcat设置关闭端口。从server.xml中修剪webapps允许我们关闭tomcat。