阿里云服务器 ECS 第八篇:Apache + Tomcat 实现Web服务器集群的构建

windows下Apache2.4+Tomcat9+mod_jk负载均衡配置 一、工具下载JDK 8下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html Apache 2.4 下载地址 https://www.apachehaus.com/cgi-bin/download.plx Tomcat 9下载地址 https://tomcat.apache.o... 阅读详情




《 Apache + Tomcat 实现Web服务器集群的构建 》







前言
在应用系统部署环境中使用 Apache + Tomcat 实现集群,这样可以很好的实现业务的横向扩展,在 Apache 与 Tomcat 之间使用 JK 进行连接的《 Apache+Tomcat 实现负载均衡/反向代理 》,JK 实则是一个连接器,也可以看作一个通道。
Tomcat 集群的节点间通过组播的方式进行节点的查找并使用 TCP 连接进行会话的复制的,所以一个集群的节点数不宜过多,因为节点间在不断的互相组播和会话复制。




系统环境
Windows 版本:Windows Server 2008 R2 x64
JDK 版本: Jdk-1.8 x64 (这儿在安装 Apache 时,可能会遇到异常,先将JDK换为32位的,等Apache安装完成后,再将JDK改为64位的即可)
Apache 版本: Apache/2.4.29 (Win64)
Tomcat 版本: Apache-Tomcat/8.0.30





基本环境准备
1、JDK 环境安装 《 第二篇:Java运行环境搭建 》
https://blog.youkuaiyun.com/hello_world_qwp/article/details/78781494


2、Apache 服务器安装与配置 《 Apache-2.4.33单机版配置详解 》 注意:安装路径不要中文和空格哟!!!
https://blog.youkuaiyun.com/hello_world_qwp/article/details/79722764


3、Tomcat 集群的配置
1)、首先保证两个 Tomcat 同时启动,可以参考 《 Linux 下并行运行多个 Tomcat 的配置详解 》 主要注意端口修改情况!!!
https://blog.youkuaiyun.com/hello_world_qwp/article/details/79453833
这儿集群为两个节点,分别为 TomcatA 和 TomcatB。


2)、然后再开启 Tomcat 《 Windows下搭建Tomcat集群基础入门详解 》
https://blog.youkuaiyun.com/hello_world_qwp/article/details/79748646


4、这儿使用的是 jk 连接器,所以需要下载
《 mod_jk.so 1.2.40-win64bit-httpd-2.4.x 连接器下载 》https://download.youkuaiyun.com/download/hello_world_qwp/10123765
《 mod_jk.so 1.2.37-win32bit-httpd-2.2.x 连接器下载 》https://download.youkuaiyun.com/download/hello_world_qwp/10123760
 ,下载完成后复制到 Apache 的 modules 目录下,并重命名为 mod_jk.so


Apache + Tomcat 实现集群配置
1、修改 Apache 的配置文件 httpd.conf,该配置文件在 Apache 根目录下的 conf 文件夹中,在配置文件末尾追加如下内容:

# 这条如果没有,则加上
AddDefaultCharset UTF-8
# 加载mod_jk模块
LoadModule jk_module modules/mod_jk.so
# 加载 mod_jk 配置文件
Include conf/mod_jk.conf



如下图:




2、在 Apache 的配置文件目录中新建 jk 配置文件 mod_jk.conf,并键入如下内容:

# jk的 worker 参数文件
JkWorkersFile conf/workers.properties

# jk 日志文件
JkLogFile logs/mod_jk.log
# 设置jk日志级别 [debug/error/info]
JkLogLevel info
# 输出的日志格式
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
# 指定 SSL 密钥大小
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat 设置请求格式 
JkRequestLogFormat "%w %V %T"
JkMountFile conf/uriworkermap.properties


如下图:





3、新增 jk workers.properties 参数配置文件,这个也算是抽象出来的吧,主要是 Apache 的负载均衡/反向代理的一些配置,在这个配置文件中还可以通过配置权重 ,来实现集群的重新再平衡,键入内容如下:

#========controller,负载均衡控制器======== 
worker.list = controller,jkstatus,tomcatA,tomcatB


#========tomcatA========
#ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.tomcatA.port=自己端口
#tomcat的主机地址,如不为本机,请填写ip地址  
worker.tomcatA.host=自己IP
worker.tomcatA.type=ajp13
#server的加权比重,值越高,分得的请求越多
worker.tomcatA.lbfactor = 1


#========tomcatB========
#ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.tomcatB.port=自己端口
#tomcat的主机地址,如不为本机,请填写ip地址  
worker.tomcatB.host=自己IP
worker.tomcatB.type=ajp13
#server的加权比重,值越高,分得的请求越多
worker.tomcatB.lbfactor = 1
 
#========controller,负载均衡控制器========
#指定分担请求的tomcat  
worker.controller.type=lb
worker.controller.balanced_workers=tomcatA,tomcatB
worker.controller.sticky_session=false
worker.controller.sticky_session_force=1
#worker.controller.sticky_session=1


#集群状态监控配置
worker.jkstatus.type=status
worker.jkstatus.read_only=1



如下图:





注意:这儿还需要在 conf 目录下新增 jk uriworkermap.properties 参数配置文件,主要用于设置请求的格式,新增键入内容如下:
/*=controller
/jkstatus=jkstatus
还可以新增其他的格式,就不再这儿一一的列举了。


4、测试集群中的Session是否实现了 Session 的多播和 Session 的复制,Apache + Tomcat 的集群配置完成后,启动 Apache 服务器和 两个 Tomcat 服务器,然后再浏览器地址栏直接输入服务器的IP地址或者 域名进行访问,一直刷新,会有意想不到的变化哟,如下图:

当Tocmat服务器A提供处理请求时:



当Tocmat服务器B提供处理请求时:





当然也可以将信息打印到页面进行查看,在页面中加入内容如下:

<%
out.println("<br> server info :" + request.getLocalAddr() + " : " + request.getLocalPort() + " <br>");%>
out.println("<br> jsessionid " + session.getId()+" <br>");
<%




总结
本篇博客是通过在真实环境中操作并记录下来的,期间遇到了很多问题(绊脚石),最后都通过不懈的努力,都一一解决了,并进行了总结,
这些总结我总共花了一个周的时间(5个工作日),希望能对正在阅读此篇文章的人有所帮助,在一个就是在这个开发的道路上通过这种方式让自己走的更远一些,通过输出的方式倒逼输入。


问题总结如下,如果你在搭建的过程中,也遇到相似的问题,可以点击连接查看解决方案:


问题一:无法启动程序,因为计算机中丢失 VCRUNTIME140.DLL

如下图:



解决方案:《 计算机中丢失 VCRUNTIME140.DLL 》


问题二:Windows 不能在 本地计算机 启动 apache24。

如下图:



解决方案:《 Windows 不能在 启动 apache 》


问题三:503 Service Unavailable

如下图:

解决方案:《 503 Service Unavailable 解决办法 》



Apache+Tomcat集群配置源文件下载:《 Apache + Tomcat 实现Web集群环境(负载均衡/反向代理) 》
注:下载完成后三步走轻松实现项目的集群部署:
1)、安装上面的操作步骤,先安装 Apache 并保证其能够正常启动。
2)、在配置配置好Tomcat的环境变量,并保证两个Tomcat能并行启动,并能通过IP或域名访问正常。
3)、最后将Tomcat的项目部署路径指向 应用程序,这儿还可以配置多个项目哟!!!











好了,关于 Apache + Tomcat 实现Web服务器集群的构建 就写到这儿了,祝你马到成功!如果还有什么疑问或遇到什么问题,可以给我留言。
歇后语:“ 共同学习,共同进步 ”,也希望大家多多关注CSND的IT社区。

mod_jk.so 1.2.40-win64bit-httpd-2.4.x 连接器下载 Apache和Tomcat的连接器mod_jk,Tomcat-Connectors-1.2.40-Win64bit-Httpd-2.4.x 连接器下载。 立即下载

相关推荐

tomcat-connectors-1.2.40-windows-x86_64-httpd-2.4.x.zip mod_jk 64位

tomcat-connectors-1.2.40-windows-x86_64-httpd-2.4.x.zip mod_jk 64位 用于连接Apache httpd2.4

apache2.4.x+tomcat集群+windows server12

下载apache2.4.x下载地址:http://httpd.apache.org/download.cgi下载步骤:① 点击红色箭头,如图所示② 如图③ 因为apache现在只提供源码,编译之后的由第三方提供,选第一个④ 我们先给windows server 12安装vc++ 12组件地址:http://www.microsoft.com/en-us/download/details.aspx?...

fantasticqiang的博客 572

mod_jk.so 1.2.40 for windows

jk_module是apache与tomcat集群与负载均衡的插件,通过在apache引入mod_jk.so实现负载均衡和会话共享。

从官网下载mod_jk.so

最近在搞apache和tomcat集群,这里就要用到mol_jk.so,在官网找了很久才知道在哪里下载,英语是硬伤啊。 1.打开tomcat官网http://tomcat.apache.org/ 2.往下拉,找到 Tomcat Connectors 1.2.41 Released 并点击下载 3.找到 tomcat connectors JK **...

dongguan5448的博客 497

mod_jk的支持httpd2.4的win64版本

支持httpd2.4的mod_jk,运行在windows上。亲测可用~

高并发web集群框架搭建

支持高并发、高可用、高可扩展的web集群框架搭建。采用nginx(当然也可以用lvs,前提是使用了redis,如果没用redis必须用nginx的iphash做负载均衡)做负载均衡。keepalived做高可用nginx负载均衡,两台nginx负载均衡可以处理静态页面,同时通过VIP进行热备。后端服务器采用apache(当然你可用其他的,这个看你的代码了)。数据库采用mysql进行集群搭建,将读写操作分离,数据库服务器支持热备(自己写的很小的代码,不断测试所有数据库服务器,除了master之外的slave,失效则剔除)。可有效扩展数据库服务器。最后使用memcache做web服务器缓存。具体还有很多详细配置,可邮件我:tianyang200209@sina.com

Win7系统64位环境下使用Apache——Apache2.4整合Tomcat与mod_jk

转载请注明出处:http://blog.youkuaiyun.com/dongdong9223/article/details/70398091 本文出自【我是干勾鱼的博客】 之前的几篇文章:Win7系统64位环境下使用Apache——Apache2.2下载Win7系统64位环境下使用Apache——Apache2.2安装及常见问题解决Win7系统64位环境下使用Apache——Apache2.4版本安装

干勾鱼的优快云博客 7172

《MySQL高级篇》十四、多版本并发控制

《MySQL高级篇》十四、多版本并发控制

LXYDSF的博客 3991

window环境下使用Apache——mod_jk

1、mod_jk是什么?    Apache自身是用来加载静态页面的,如果要加载动态页面比如jsp,还要做与Tomcat的整合,mod_jk就是整合Apache2.4与Tomcat的连接器。2、Apache、tomcat、mod_jk之间的关系    Apache:这里指的是httpd,Web服务器,用来处理静态文件。    tomcat:应用服务器,是servlet、jsp(jsp在后面其实也是...

lxy0322的博客 1489

【STC8G1K08A串口使用】

STC8G1K08A串口打印“Hello world”

m0_47459564的博客 1万+

cesium 高程数据使用

cesium 高程数据使用高程数据下载高程数据切片简单数据服务 高程数据下载 使用地理空间数据云平台免费提供的高程数据。地理空间云平台 点击列表中的下载得到数据压缩包。例如:ASTGTM2_N22E114.zip 高程数据切片 使用cesium实验室工具对下载得到的压缩包进行切片。cesium实验室 切片得到的文件夹目录。 简单数据服务 使用nodejs的koa启动简单的资源服务。koajs 项目根目录新建data文件夹,在新建dem文件夹放高程数据。 注意目录自行更换,这里是./data/dem

哎哟这个凉白白的博客 1811

Win7系统64位环境下使用Apache——下载mod_jk

之前在几篇文章:Win7系统64位环境下使用Apache——Apache2.2下载Win7系统64位环境下使用Apache——Apache2.2安装及常见问题解决Win7系统64位环境下使用Apache——Apache2.4版本安装及卸载中主要讲述了Apache的安装和卸载,后面会讲解Apache的具体使用。因为后面会讲解到Apache2.4整合Tomcat与mod_jk,所以今天先来说说mod_j

干勾鱼的优快云博客 7648

AI 大模型接口太零散?自建私有模型管理平台统一整合,管理使用超方便!(支持飞牛nas、群晖nas等服务器快速部署)

面对多种 AI 大模型接口难统一、管理繁琐的问题🤯,本文分享一款超实用开源网关工具⚡,可聚合各大模型、自动转接口、支持可视化管理,Docker 一键部署,大幅降低开发与维护成本🚀

XiaoqiangClub的博客 265

mod_jk.so安装

<br />为了将Apache和JBoss服务器进行整合,您还需要安装mod_jk.so组件,该组件的做用是将来自前台的请求转发到Apache后面的JBoss服务器,请将请求的结果返回给Apache服务器,由Apache服务器将结果返回给客户端。 <br />1. 上传安装文件 然后root用户用SFTP上传你的jakarta-tomcat-connectors-1.2.15-src.tar.gz 这个文件到目录/usr/local/src下。 <br />2. 解压安装文件

leo_wanta的专栏 867

Windows密码忘了怎么办?一分钟看懂Windows密码底层机制:无需重装系统也能无痕找回登录密码

忘记Windows开机密码,不一定非得重装系统!本文手把手教你通过提取NTLM Hash值实现“无痕找回密码”,无需PE、无需清除密码,对系统零修改 🛡️ 搭配mimikatz与在线解密平台,小白也能快速上手,了解Windows密码底层机制 🔐

XiaoqiangClub的博客 119

用 SAP S/4HANA Configure Predefined Custom Fields 玩转预定义自定义字段:从概念到实战

SAP预定义自定义字段配置指南:安全扩展业务模型的云原生方案 摘要: 本文系统介绍SAP S/4HANA Cloud中预定义自定义字段的配置方法,对比普通自定义字段与预定义字段的区别,阐述其技术特点与业务价值。重点解析"Configure Predefined Custom Fields"应用的核心功能,包括字段元数据配置、多语言支持、UI集成等能力,并通过业务伙伴扩展案例演示完整实施流程。文章指出预定义字段方案在云环境下的独特优势:既满足业务扩展需求,又能保证系统可升级性,是SaaS环

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 79

mod_jk 1.2.40版本

通常情况下apache运行的是80端口,比如apache启动后运行localhost:80就可以出现It works页面,这里的80也可以不写,会默认的。而tomcat启动时默认的端口是8080端口,需要在localhost后面加上8080,但这样比较不专业,域名还带端口,因此我们可以在tomcat的server.xml修改为80。但此时的问题出来了,当已有一个php写的项目在使用apache作为

seanzed的博客 926

【Agent实战】Agent Skills 深度解析:从原理到落地的完整指南

本文深入解析了Agent Skills的概念及其在AI协作中的实际应用。Skill是一种可被AI按需发现和加载的任务执行说明书,它将团队经验、规则和步骤固化为结构化文档,如SKILL.md。文章阐明了Skill与Prompt、MCP、Function Calling的关系,强调Skill专注于"怎么做"而非底层能力。重点介绍了SKILL.md的编写规范,包括元数据命名规则、描述技巧和正文内容优化,旨在帮助开发者高效构建可复用的知识资产,提升Agent的任务执行稳定性与专业性。通过清晰的示例和对比,为AI架构

少说,多做 115

Nginx反向代理与Tomcat集群配置详解

介绍:本课程共5节内容,是从“精讲”课程中抽取出来的专题详解,包括反向代理,搭建tomcat集群,集群的负载均衡策略,帮您快速掌握nginx核心技术的使用。友情提示:该视频课程为免费课程,无法再次提供笔记和源码资料,欢迎大家支持我的付费课程,本网搜索张立坤讲师即可,谢谢大家支持!目标:通过本课程学习,能够熟练使用nginx完成tomcat服务器的集群和负载均衡配置。适合人群:一定基础的web开发人员和服务器运维人员。

YOLO26涨点改进| TGRS 2026 | 独家创新首发、注意力改进篇| 引入CSSCA频谱-空间交叉注意力,含多种创新改进,小目标检测、图像分割、高光谱图像分类、语义分割任务任务涨点

🔥本文提出CSSCA(频谱-空间交叉注意力)模块,通过中心像素引导的光谱与空间交叉注意力机制,有效提升YOLO26模型的特征表达能力。该模块实现了光谱与空间信息的协同优化,能够自适应强化关键通道与重要空间区域,增强模型对小目标和复杂场景的感知能力。文章详细介绍了CSSCA的网络结构、工作原理及四大优势,包括精准特征表达、协同信息优化、小样本适应性和轻量化设计。同时提供了完整的代码实现和四种改进方案的YAML配置文件,包括基础版、增强版、C3k2融合版和C2PSA融合版,为YOLO26模型的性能提升

Ai缝合怪、助力小伙伴高效发论文 264

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

阿里云服务器搭建apache+https+集群tomcat

当需要搭建apache+https+tomcat集群时,请参看第1节。 当需要搭建apache+tomcat集群时,请参看第2节。 1、 apache+https+tomcat集群 1.1 安装openssl 执行 ~> openssl version -a ,查看系统预装openssl版本。 放弃使用系统预装的openssl。 安装最新

ardo_pass的博客 3698

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Web应用的负载均衡、集群、高可用的解决方案---解决高并发

Web应用的负载均衡、集群、高可用的解决方案---解决高并发 一、相关术语: 1.高并发:由于网站PV(page view)访问量大,单台服务器承载大量访问所带来的压力.所以利用负载均衡技术、反向代理技术、数据库集群、web服务器集群、Nosql分布式缓存技术等,以实现单台数据器不能达到的并发量。 2.分布式(distributed):将同一程序的不同业务分布在不同的服务器。分布式中的每

zhulongxi的博客 2728

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

在阿里云ECS上部署Apache和Tomcat并整合

首先需要购买阿里云ECS服务器。我购买的是低配置,OS为Ubuntu18.04。 本文中所有的命令操作均是以Putty连接到ECS服务器后进行的操作。 一、基本环境安装准备 要运行Tomcat,首先...

cuiming1334的博客 446
上一篇: 阿里云服务器ECS 第七篇: Windows Server 2008 R2 DNS 服务器搭建
下一篇: 无法启动程序,因为计算机中丢失 VCRUNTIME140.DLL,尝试重新安装该程序以解决此问题。
TechBro华仔
TechBro华仔 优质创作者: Java技术领域 优质创作者: Java技术领域 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄11年 5万+粉丝 430原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TechBro华仔

日拱一卒无有尽,功不唐捐终入海

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值