【问题标题】:tomcat stops serving behind apache when shifted to mod_proxy_ajp using SSL当使用 SSL 转移到 mod_proxy_ajp 时,tomcat 停止在 apache 后面服务
【发布时间】:2014-10-29 09:50:28
【问题描述】:

过去很多天我们都面临一个问题,即我们的 tomcat(8.0.5) 停止响应针对部署在 tomcat 上的 servlet 的 Web 请求,但请求来自我们在 centos 上部署在 apache(2.2) 上的网站。

在浏览了许多文档和帖子后,我们得出结论,将 maxThreads(在 tomcat 的 server.xml 中)设置为与 maxClients 设置(在 apache httpd.conf 中用于 prefork MPM)相同,即 256。 但是当我在这里浏览 AJP 文档时:https://tomcat.apache.org/tomcat-8.0-doc/config/ajp.html

我知道它应该是tomcat的“maxConnections”而不是“maxThreads”。我的同事确信它应该是“maxThreads”,而我认为它应该是“maxConnections”,所以有人可以澄清我们的这种困惑。 顺便说一句 - maxThreads 设置工作正常,因为我们应用了这个。 问候。

【问题讨论】:

    标签: java apache tomcat ajp


    【解决方案1】:

    maxConnections 表示 tomcat 可以建立的最大 tcp 连接数,maxThreads 表示可用于处理来自连接的请求的 tomcat 线程的最大数量。
    我认为在大多数情况下,最好将两个数字设置为相同,tomcat 8 会将 maxConnections 设置为相同数量的 maxThreads。
    如果将 maxConnections 设置为大于 maxThreads,tomcat 将建立连接数超过 maxThreads,因此可能没有足够数量的线程来处理连接,并且一些连接将被阻塞并等待空闲线程。
    对于 BIO 连接器,如果您设置了 maxThreads,maxConnections 由 tomcat自动更改,对于 NIO 和 NIO2,默认值为 10000。对于 APR/native,默认值为 8192(双重检查 tomcat 文档,它是这么说的)。如果您更改 maxConnections,maxThreads 将不会相应更改。

    【讨论】:

    • 好的,所以你的意思是我们可以设置其中的任何一个,它的行为应该相同。
    • 你可以设置maxThreads,然后maxConnections可以变成同样的值,但是设置maxConnections,maxThreads不会改变。
    猜你喜欢
    • 1970-01-01
    • 2016-10-20
    • 2015-04-30
    • 2014-02-14
    • 2018-01-20
    • 2015-11-18
    • 1970-01-01
    • 2020-09-13
    • 1970-01-01
    相关资源
    最近更新 更多