讲师中心 微信公众号
AI工具推荐 视频效率加速

如何在Apache中通过mod_proxy_ajp协议实现与后端Tomcat的高效集群通信

落枫君_4768

落枫君_4768

发布时间:2026-05-15 06:16:00

|

729人浏览过

|

来源于php中文网

原创

核心是Apache通过AJP二进制协议高效分发请求至多个Tomcat实例,需Tomcat启用唯一AJP端口与jvmRoute、Apache配置balancer及stickysession实现会话粘性,并协同调优线程与超时参数。

如何在apache中通过mod_proxy_ajp协议实现与后端tomcat的高效集群通信

用 mod_proxy_ajp 连接 Apache 和 Tomcat 集群,核心是让 Apache 通过二进制 AJP 协议把请求高效分发到多个 Tomcat 实例,同时保持会话稳定、信息准确。它比 HTTP 代理更省资源,尤其适合动静混合、高并发场景。

Tomcat 端必须启用并正确配置 AJP Connector

AJP 不是默认开启的,漏掉这步,Apache 再怎么配都会 503。打开 conf/server.xml,确认存在且未被注释的 AJP connector,例如:

  • <connector port="8009" protocol="AJP/1.3" address="127.0.0.1" redirectport="8443"></connector>
  • 若集群跨机器,address 不能写死 127.0.0.1,需改为具体监听 IP 或留空(监听所有)
  • 每个 Tomcat 实例的 AJP 端口要唯一(如 node1:8009、node2:8010),避免端口冲突
  • 为支持 session 粘性,<engine></engine> 标签需加 jvmRoute 属性,如 jvmRoute="tomcat1"

Apache 端加载模块并定义负载均衡组

先确保必要模块已启用:

  • mod_proxy、mod_proxy_ajp、mod_proxy_balancer 必须加载
  • Ubuntu 用 a2enmod proxy proxy_ajp proxy_balancer;CentOS/RHEL 检查 /etc/httpd/conf.modules.d/00-proxy.conf

在虚拟主机或主配置中定义集群组:

WebChat Voice Proxy
WebChat Voice Proxy

⚠️ 已弃用 — 该技能已拆分为两个独立技能,以提升模块化程度:**webchat-https-proxy**(HTTPS/WSS 反向代理)和 **webchat-voi...**

下载
  • <proxy balancer:></proxy>
  • BalancerMember ajp://192.168.1.111:8009 route=tomcat1 loadfactor=1
  • BalancerMember ajp://192.168.1.112:8009 route=tomcat2 loadfactor=1

注意:route 值必须和 Tomcat 的 jvmRoute 完全一致,这是粘性会话的匹配依据。

配置反向代理并启用 session 粘性

在 <virtualhost></virtualhost> 中设置代理规则:

  • ProxyPass / balancer://mycluster/ stickysession=jsessionid|JSESSIONID nofailover=Off
  • ProxyPassReverse / balancer://mycluster/
  • stickysession 后跟 jsessionid(大小写不敏感),Apache 会自动识别 Cookie 中的 JSESSIONID 并绑定后端节点
  • nofailover=Off 表示当某节点宕机时,会尝试转发到其他节点(非强粘性)
  • 如需透传真实客户端 IP,加上:RequestHeader set X-Forwarded-For %{REMOTE_ADDR}s

关键调优与排障要点

AJP 高效的前提是两端协同优化:

  • Tomcat 的 maxThreads(如 200)应略高于 Apache 的 MaxRequestWorkers(如 150),避免请求积压在某一层
  • AJP 默认无长连接,建议在 Tomcat 的 connector 中加:connectionTimeout="60000" keepAliveTimeout="60000"
  • 常见 503 错误:检查防火墙是否放行 8009 端口;用 telnet 192.168.1.111 8009 测试连通性;查看 Apache error_log 中 ajp 相关报错
  • AJP 不支持 WebSocket,wss 请求需单独用 mod_proxy_wstunnel + HTTP 协议代理

热门AI工具

更多
二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

小橡皮AI

一款AI工具,主要用于小橡皮一键去AI味,将机器味重的内容改得更有活人感,防止因为 AI 内容被平台打上 AI 标签,以及限流,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

创客贴AI

创客贴AI是一款AI图像与设计工具,AI辅助的智能在线设计工具。

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2683

2023.08.11

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

6810

2024.03.19

后端的主要工作内容介绍
后端的主要工作内容介绍

后端是应用程序的服务端部分,负责核心任务,如数据库交互、业务逻辑处理和响应客户端请求。想了解更多后端的相关内容,可以阅读本专题下面的文章。

6266

2024.03.19

C语言变量命名
C语言变量命名

c语言变量名规则是:1、变量名以英文字母开头;2、变量名中的字母是区分大小写的;3、变量名不能是关键字;4、变量名中不能包含空格、标点符号和类型说明符。php中文网还提供c语言变量的相关下载、相关课程等内容,供大家免费下载使用。

3469

2023.06.20

c语言入门自学零基础
c语言入门自学零基础

C语言是当代人学习及生活中的必备基础知识,应用十分广泛,本专题为大家c语言入门自学零基础的相关文章,以及相关课程,感兴趣的朋友千万不要错过了。

2388

2023.07.25

c语言运算符的优先级顺序
c语言运算符的优先级顺序

c语言运算符的优先级顺序是括号运算符 > 一元运算符 > 算术运算符 > 移位运算符 > 关系运算符 > 位运算符 > 逻辑运算符 > 赋值运算符 > 逗号运算符。本专题为大家提供c语言运算符相关的各种文章、以及下载和课程。

1340

2023.08.02

c语言数据结构
c语言数据结构

数据结构是指将数据按照一定的方式组织和存储的方法。它是计算机科学中的重要概念,用来描述和解决实际问题中的数据组织和处理问题。数据结构可以分为线性结构和非线性结构。线性结构包括数组、链表、堆栈和队列等,而非线性结构包括树和图等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1278

2023.08.09

c语言random函数用法
c语言random函数用法

c语言random函数用法:1、random.random,随机生成(0,1)之间的浮点数;2、random.randint,随机生成在范围之内的整数,两个参数分别表示上限和下限;3、random.randrange,在指定范围内,按指定基数递增的集合中获得一个随机数;4、random.choice,从序列中随机抽选一个数;5、random.shuffle,随机排序。

1396

2023.09.05

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

20

2026.10.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Apache Maven 官方安装指南
Apache Maven 官方安装指南

共0课时 | 0人学习

Apache Maven 官方用户中心
Apache Maven 官方用户中心

共0课时 | 0人学习

Apache Subversion 官方手册
Apache Subversion 官方手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn