【问题标题】:Why Tomcat shutdowns after startup?为什么Tomcat启动后会关闭?
【发布时间】:2011-05-26 05:34:52
【问题描述】:

我在 linux(ubuntu) 上安装了 tomcat 5,但启动后,它会自动关闭 我通过这个命令检查了:

lsof -i:8080

它显示了java,但是一秒钟后,当我再次执行它时(lsof -i:8080)它什么也没显示


我检查了日志并看到了这个:

    java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:336)
at java.net.ServerSocket.bind(ServerSocket.java:336)
at java.net.ServerSocket.<init>(ServerSocket.java:202)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:363)
at org.apache.catalina.startup.Catalina.await(Catalina.java:616)
at org.apache.catalina.startup.Catalina.start(Catalina.java:576)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)

但没有进程使用8080端口,我通过netstat检查过

【问题讨论】:

  • 解决方案是什么?您是如何找到的?
  • @John:我知道我有另一个 tomcat,它会在 linux 启动时自动启动。我杀了它,问题就解决了。

标签: java tomcat


【解决方案1】:

转到您的 tomcat bin 目录(通常类似于:/usr/local/tomcat/bin)并运行:

./catalina.sh 运行

这将显示启动时的输出。 问题之一可能是您的 Tomcat 实例配置为运行的端口已被占用(尝试 nestat -an|grep yourportnumber)以获取正在使用的端口列表。

【讨论】:

  • 我做了并在问题文本中写了结果,但问题没有解决
  • 显然某些进程正在使用您的 apache 端口。但它不一定是端口 8080,因为文件 server.xml 定义了应用程序侦听的端口,检查这个。另外,这种方式启动时,tomcat启动应该会告诉你哪个端口被占用了。
猜你喜欢
  • 2021-08-04
  • 2014-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-01
  • 2017-09-18
  • 2020-05-31
  • 1970-01-01
相关资源
最近更新 更多