【问题标题】:Tomcat9 does not respondTomcat9 没有响应
【发布时间】:2021-09-06 04:37:39
【问题描述】:

自从从 tomcat8 升级到 tomcat9 后,我们遇到了一个奇怪的问题。

  • tomcat9 有时不再响应。
  • 不再可访问所有已部署的战争应用程序。
  • 话虽如此,apache 代理服务器似乎还可以。
  • 只有重新启动 tomcat9 服务才有帮助。

catalina.out 或其他应用日志文件中没有有用的日志条目。

我们唯一的怀疑是它主要发生在热部署war文件时(将war文件移动到apps文件夹而不停止/启动tomcat9)。相比之下,在 tomcat8 上热部署从来都不是问题。

也许这是一个 ajp 问题? 这是我们的连接器配置:

<Connector
        port="8009"
        protocol="org.apache.coyote.ajp.AjpNio2Protocol"
        acceptCount="200"
        acceptorThreadCount="2"
        address="0.0.0.0"
        connectionTimeout="1800000"
        maxThreads="400"
        minSpareThreads="20"
        secretRequired="false"
        redirectPort="8443" />

我在这里发现了一些(可能)相关的问题:tomcat hangs when deploying war file and restarting server

那边的人说他们停止了tomcat,部署了战争,然后再次启动了tomcat。

升级到 tomcat9 后有同样问题的人吗?

【问题讨论】:

  • 来自 tomcat 9 迁移指南:default listen address of the AJP Connector was changed to the loopback address rather than all addresses.。另外,你可以从 localhost 访问端口 8080 吗?关闭端口是否可用且响应迅速(通常为 8005)?
  • 谢谢。你的意思是端口 8443 而不是 8080?由于我们正在重定向到 https ...
  • 不管8443,8080端口是否也打开了?如果是这样,尝试连接它或尝试关闭端口 8005 上的 tomcat。两者都知道 tomcat 是否真的挂了。
  • 出于安全原因,我们不想开放端口 8080 和 8005。我们只开放 ajp 端口 (8009)

标签: tomcat tomcat9 ajp


【解决方案1】:

看来,tomcat9 上的热部署以某种方式导致了冻结。最后三个部署如下:

  • 停止 tomcat9 服务
  • 移动战争文件
  • 删除解压的文件夹
  • 调整文件设置(tomcat 用户)
  • 启动tomcat9服务

到目前为止,我们不再遇到冻结。
所以我建议在 tomcat9 上热部署(可能与 java11 一起更新)会导致冻结。

这个解决方案对我们有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 2013-02-06
    • 2020-06-23
    • 2017-09-25
    • 2013-04-20
    • 2016-10-06
    相关资源
    最近更新 更多