如何检查Tomcat是否配置为侦听关闭?

时间:2011-12-28 09:54:57

标签: java sockets tomcat

我在server.xml中配置了监听端口8005以进行关闭, 但始终收到连接拒绝错误。另外通过telnet / netstat检查显示没有任何东西在端口8005上侦听。是否存在应该为tomcat正常关闭而执行的另一个配置/策略设置? 感谢。

3 个答案:

答案 0 :(得分:3)

除非你发布了配置tomcat的server.xml的片段,告诉我们它的版本并提供启动日志和脚本,否则我们无法更好地帮助你。

看看这篇帖子,从你的帖子我明白你不能telnet到8005但也许你错过了什么,也许有些程序占用tomcat占用的一些端口?检查服务器日志并找出不想连接的原因。如果只是拒绝连接,则会出现端口/防火墙问题。

Several ports (8005, 8080, 8009) required by Tomcat Server at localhost are already in use

<强> P.S 如果所有内容都留给标准配置,那么你的tomcat服务器应该开始监听关闭到端口8005.如果你检查服务器日志,当你关机时,你应该有这样的东西(tomcat 7.23):

  

2011年12月28日下午4:01:22 org.apache.catalina.core.StandardServer等待   信息:通过关闭端口接收到有效的关闭命令。   停止服务器实例。

另外,还有其他注意事项:

  1. 你是否以root身份启动tomcat(我假设你使用的是非 Windows OS)?

  2. 您使用安全提供商吗?

  3. 从您的帖子中我无法理解您的服务器是否启动。 如果您提供了部分日志,也许我们可以提供帮助 你更好。

    要检查的最后步骤是禁用防火墙/ iptables 等等 可能会阻止您打开端口。检查会发生什么 如果将端口设置为高于32000的数字,则需要一些安全性 设置可能会阻止您打开较低编号的端口。

  4. 编辑:要进一步添加,仍然繁忙的实时非守护程序线程可能会阻止服务器在没有实现其关闭挂钩的情况下正常关闭,但是因为您的服务器甚至不想在8005上绑定您收到“连接被拒绝”错误,我认为这是一个防火墙/端口/权限问题。我只能建议您以root / admin或其他方式运行它,并尝试使用Netbeans安装附带的嵌入式tomcat。另外,检查你的tomcat是否有一些奇怪的标志,安装管理器,或者是一个可能限制你的jvm的权限文件。此外,如果您使用的是Windows并且您的tomcat位于Program文件中,或者您将其作为服务启动,则可能会遇到一些奇怪的行为,从命令行启动它。另外,尝试更新的tomcat,也可以尝试更新的jvm,也可以尝试一个开箱即用的tomcat,你可以从官方网站下载。

    编辑,编辑:

    出于安全考虑,可能不允许粘贴日志,但在对问题进行故障排除时,看到它尝试在8005上绑定并失败的部分确实会有所帮助。

答案 1 :(得分:2)

它存储在server.xml

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

答案 2 :(得分:0)

这可能是您在JAVA_OPTS中设置-server的情况。这使得服务器无法开始侦听端口8005.我正在尝试追踪这种情况发生的原因并且遇到了你的问题。

  JAVA_OPTS="-Dfile.encoding=UTF-8 \
  -Dcatalina.logbase=/var/log/tomcat8 \
  -XX:+DoEscapeAnalysis \
  -XX:+UseConcMarkSweepGC \
  -XX:+CMSClassUnloadingEnabled \
  -XX:+UseParNewGC \
  -Xms3G -Xmx3G" \
  -server