tomcat端口关闭

tomcat端口关闭,tomcat,amazon-ec2,tomcat7,Tomcat,Amazon Ec2,Tomcat7,我在AmazonEC2实例的6584端口上运行了Tomcat服务器7.0.54 服务器正常运行了一段时间,但突然似乎关闭了它侦听的端口 当它正常运行时,netstat-lnp | grep给我 tcp6 0 0 127.0.0.1:8005 :::* LISTEN 22999/java tcp6 0 0 :::8009 :::*

我在AmazonEC2实例的6584端口上运行了Tomcat服务器7.0.54

服务器正常运行了一段时间,但突然似乎关闭了它侦听的端口

当它正常运行时,
netstat-lnp | grep
给我

tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      22999/java          
tcp6       0      0 :::8009                 :::*                    LISTEN      22999/java          
tcp6       0      0 :::6584                 :::*                    LISTEN      22999/java 
当它突然停止工作时,tomcat实例仍在运行,并且机器上有足够的内存。但是
netstat-lnp | grep
只给了我

tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      22999/java     
这表明tomcat不再监听端口

我如何解释为什么会发生这种情况?我如何调试这种情况


  • 如果catalina.out不包含任何内容,请检查操作系统级日志文件。对于Linux,请检查/var/log/messages
  • 在前面显示的netstat输出中,pid是相同的还是随时间而变化

  • 检查apt包是否有任何在系统级别运行的cron作业。
    如果是,则删除此cron作业。我认为这就是问题所在。

    您可以为此做以下几件事

  • 禁用网络设备上的所有ipv6
  • 使用以下内容调整“{tomcat_home}/bin/setenv.sh”:

     export CATALINA_OPTS="-Djava.net.preferIPv4Stack=true"
    
  • 检查tomcat日志:catalina.out、localhost.log等
  • 将此
    -Xrunhprof:cpu=samples,interval=10,depth=8
    添加到JAVA选项中,并检查 再次发生时生成的“java.profile.txt”文件。 (如果需要更改某些参数,请参阅)

  • 是否要在IPV6上运行?不确定。我正在使用默认设置。最好检查Tomcat的日志。对于任何错误,文件名为catalina.out。catalina.out不包含任何注意事项,即使未命中tomcat实例,也会发生这种情况。您是否可以检查JVM是否正在崩溃,如果它正在崩溃,您可以注意到在/tmp/文件夹中创建的文件。请检查最近更新的几个文件。非常确定这与ipv4或IPV6无关。感谢您的回答。现在无法重现该问题,但将在该文件再次失败时检查该文件。在netstat中,pid是相同的,这就是为什么我说tomcat实例是相同的,只是它不再侦听其端口。您的意思是,cron作业将在tomcat仍在运行时更新它吗。这可能就是问题所在?我一定会查的。谢谢。是的,我应该试试