2013-11-15 66 views
1

我在Ubuntu 12.04上运行Apache Tomcat 7.0.42。当我最初启动Apache时,它很好,我可以连接。然而,在使用它一段时间后,我无法再浏览到任何托管在Apache上的站点,甚至不是根站点。浏览器只是永远等待连接。如果我在机器上,我可以看到很多已关闭的连接,并且在netstat上有CLOSE_WAIT,但没有任何打开的连接。 Apache日志文件也没有告诉我任何事情。Apache Tomcat 7不接受连接

如果我重新启动Apache,问题不会消失,即使重新引导服务器也没有解决问题。经过一段时间的努力后,它开始工作,只是在不久之后停止。 机器之间没有任何网络问题。

我看了一下7上已知的bug,但没有注意到任何听起来相关的东西。我也在机器上重新安装了Apache,但问题很快就回来了。

我觉得我错过了一些愚蠢的东西,但我只是没有得到它。

+0

不是CLOSED_WAIT而是CLOSE_WAIT。这意味着TCP已经收到来自对端的关闭,并且正在等待本地应用程序关闭套接字。他们仍然在当地开放。你能否澄清'Apache'是指HTTPD还是Tomcat或两者。你可能还必须发布你的连接器配置,HTTPD mod_proxy * config(如果有的话),这使得它全部脱离SO主题。 – EJP

回答

2

我不确定这是否有帮助,但您可以尝试以下选项。

问题可能不是Tomcat7,而是您自己的网站。我已经使用了tomcat这么多天,并且一次没有注意到这样的问题。

可能是您的网站之一有内存泄漏,并在运行一段时间后,它使服务器由于内存不足而停止。

如果网站数量很多,那么您可以尝试删除所有网站并逐个添加,以检查哪个网站提供了该问题。

你可以尝试使用简单的页面,先删除所有其他网站,以检查问题是否与tomcat或您的网站。