7

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>

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

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

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

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

startup.sh &

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

4

2 回答 2

15

很可能您的 Tomcat 实例由于某种原因尚未完全启动,并且从未达到启动关闭侦听器的地步。您是否发布了整个启动日志?通常,最后一条消息类似于“ Server startup in XXX ms ”。我注意到关闭侦听器仅在最后启动。

最常见的原因是您的 Web 应用程序初始化之一挂起或延迟。

于 2013-08-20T17:28:33.057 回答
4

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

  1. Tomcat 未绑定到其关闭端口 (8005),因此这实际上并不是问题的指标
  2. 问题出在我们的一个网络应用程序上,它阻止了 tomcat 设置关闭端口。从 server.xml 中修剪 webapps 允许我们关闭 tomcat。
于 2015-04-07T10:58:42.727 回答