关于 JK 的一般信息和常见问题
我在哪里可以获得 JK 的帮助/支持?
获得支持的主要机制是通过 doc 目录中包含的 JK 文档。文档也可在专门用于 Apache Tomcat 连接器项目 的 Apache Tomcat 网站上找到。如需额外帮助,最佳资源是 Tomcat 用户讨论列表。您应该在向列表发布问题之前,首先搜索 邮件列表存档。如果您无法在存档中找到问题的答案,您可以向用户列表发布关于 JK 的问题以寻求帮助。请确保您包含您正在使用的 Web 服务器版本以及您运行的平台,并点击 此处 了解如何订阅 Tomcat 邮件列表。
我找不到 JK。它在哪里?
现在 JK 已移至 tomcat-connectors 存储库,JK 的源代码和二进制文件可以从 Tomcat 连接器 (mod_jk) 下载 页面上的镜像站点下载。
JK 和 mod_jk 之间有什么区别?
JK 是一个涵盖 Web 服务器到 Tomcat 连接器的项目。
Apache HTTP 服务器 支持是在 JK 上实现的,使用一个名为 mod_jk 模块 的插件。
Microsoft IIS 支持是在 JK 上实现的,使用一个名为 ISAPI 重定向器 的插件。
我在哪里可以获得更多信息?
对于 JK 1.2.x,您应该阅读
如需更详细的信息,请查阅参考指南。您也可以尝试在邮件列表存档中搜索“JK”或查看源代码。
我应该使用哪种协议——ajp12、ajp13 还是 ajp14?
ajp13 是标准协议。旧版 ajp12 已弃用,ajp14 是实验性的。
此外,ajp13 受从 Tomcat 3.2 开始的所有 Apache Tomcat 版本以及其他 servlet 引擎(例如 Jetty 和 JBoss)的支持。
我的 Web 服务器和 Tomcat 之间有防火墙,一段时间后会断开 ajp13 连接
ajp13 协议使用持久连接,在这种情况下,如果没有要发送到 Tomcat 的请求,流量可能为零。防火墙通常会断开不活动的连接,这将导致您的 Web 服务器和 Tomcat 误以为连接仍然有效。
从 JK 1.2.0 开始,已将 socket_keepalive 属性添加到 ajp13 设置中,您应该在 Workers 操作指南 和 workers.properties 参考 中查看它。如果没有其他方法奏效,您可以尝试 JkOptions +DisableReuse,但这会带来严重的性能影响。
在高负载下,即使我的 Apache HTTP 服务器处理了大部分负载,Tomcat 中仍然有许多线程
在高负载下,Apache HTTP 服务器会创建许多子进程来处理负载,这反过来又会创建到 Tomcat 的许多连接,以转发它们应该处理的请求。Apache HTTP 服务器通常会在负载降低时终止子进程/线程。但如果负载仍然存在,即使只有 Apache 处理请求(例如静态内容),子进程及其所有 ajp13 连接都会被保留,即使它们不再被使用。
要在一段时间不活动后关闭连接,您可以使用 connection_pool_timeout,有关更多信息,请参阅 workers.properties 参考。