翻译:疯狂的技术宅
原文标题:Load balancing tomcat with Apache
原文链接:http://programmergate.com/loa...
本文首发微信公众号:充实的脑洞
有时候我们需要把自己的应用部署在多个Tomcat实例上,这种场景通常是在使用大量内存进行存储,并且拥有大量的活跃用户时。使用多个实例的主要优点是可以把请求和负载分担到多个节点上,以提供高可用性并加快服务请求。
负载均衡是将客户端请求分发到多个可用节点的过程,通常是通过接收请求的Web服务器将应用程序暴露给客户端,并根据每个节点的可用性和压力将它们分发到配置好的应用程序服务器。 在本文中,我们将介绍如何通过Apache Web服务器配置简单的Tomcat负载均衡器。
本教程在2台不同的Windows机器上安装2个Tomcat实例。通常可以在同一台机器上配置多个Tomcat实例,但是建议将其分别安装在不同的机器上,以便将负载分配到2个物理内存而不是1个。
从这里下载最新稳定的Apache版本,你可以在其中一台Tomcat机器上设置Apache,或者为其单独分配一台机器。
将下载的文件解压缩到D:盘,并设置conf文件夹下httpd.conf文件中的SRVROOT变量:
Define SRVROOT "D:Apache24"
要安装Apache,请以管理员身份运行cmd,把路径切换到为D:Apache24bin,执行以下命令:
httpd -k install
现在,Apache Web服务器已成功安装在你的计算机上。
要启动Apache,请以管理员身份在D:Apache24bin路径下运行以下命令:
sc start Apache2.4
默认情况下,Apache将在端口80上运行,如果要检查它是否意境成功的启动,可以在你的浏览器上访问localhost,将看到以下页面:
从这里下载mod_jk模块,这个插件负责Apache和tomcat之间的通信。
解压缩mod_jk.zip文件并将 mod_jk.so 复制到 D:Apache24modules 中。
编辑D:Apahe24confhttp.conf 文件
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkMount /* loadbalancer
JkMount / loadbalancer
workers.properties
在conf目录下创建workers.properties文件,此文件定义了要负载均衡的多个Tomcat实例以及负载均衡器。以下是worker.properties的内容:
# 定义负载均衡器,这里的名称是loadbalancer
worker.list=loadbalancer
# Define the properties of first tomcat worker named tomcat1
worker.tomcat1.port=8008
worker.tomcat1.host=<ip>
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=1
# 定义名为tomcat1的第一个tomcat worker的属性
worker.tomcat2.port=8009
worker.tomcat2.host=<ip>
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1
# 定义负载均衡器及其管理的worker的属性
workers which manage.
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=tomcat1, tomcat2
worker.<workerName>.type: worker的类型,在这个例子中我们使用2种类型的worker
修改每个Tomcat实例的启动配置,以匹配Apache中相应的工作属性。
将tomcat1的TOMCAT_HOME/conf/server.xml文件编辑为下面的内容:
<!-- Define the http port of tomcat -->
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"
redirectPort="8443" URIEncoding = "utf-8"/>
<!-- Define the ajp port of tomcat, this port should match the one
in workers.properties -->
<Connector port="8008" protocol="AJP/1.3" redirectPort="8443"
URIEncoding = "utf-8"/>
<!-- Define the jvm routing of tomcat, this routes to tomcat1 -->
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
将tomcat2的TOMCAT_HOME/conf/server.xml文件编辑为下面的内容:
<!-- Define the http port of tomcat -->
<Connector port="9090" protocol="HTTP/1.1" connectionTimeout="20000"
redirectPort="8143" URIEncoding = "utf-8"/>
<!-- Define the ajp port of tomcat, this port should match the one
in workers.properties -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8143"
URIEncoding = "utf-8"/>
<!-- Define the jvm routing of tomcat, this routes to tomcat2 -->
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">
重启tomcat节点和Apache服务器后,会成功建立负载均衡,Apache可以把请求转发到在Tomcat1和Tomcat2上
PS: 该应用程序通过Apache主机名和端口访问。
评论时间:2023-07-23 03:49:42
服务器硬件参数是决定服服务器机柜宽度 务器性能的虚拟机搭建dns服务器 参数是决定服务器性能的主要因素
评论时间:2023-03-10 00:25:01
16.不要过度劳累17.不要滥用药物18.保持良好的心态19.按时吃饭20.不喝酒21.不饥荒联机云服务器搭建 吸烟22.不熬夜支持dll注册的虚拟主机 累17.不要滥用药物18.保持良好的心态19.按时吃饭20.不喝酒21.不吸烟22.不熬夜23.少吃多餐
评论时间:2023-02-23 06:25:02
虚拟主机要多少钱的合适 4.数据安全性高英国虚拟主机
评论时间:2023-02-10 06:25:01
目前国内流行的数据库管理系统大多采用最便宜的虚拟主机国内 B/S结构,即由多个用户通过浏览器流媒体服务器搭建教程 /S结构,即由多个用户通过浏览器
评论时间:2023-01-09 21:25:01
而随着网络技术和计算机软硬件水平不断提高,现在越来越多的人已经开始使用服务器了,那么服务器怎么查找呢?下面就来给大家介绍一下吧!首先,打开浏览器进入“我的电脑-管理工便宜虚拟主机优惠 具--用户管理”亿网互联虚拟主机 了,那么服务器怎么查找呢?下面就来给大家介绍一下吧!首先,打开浏览器进入“我的电脑-管理工具--用户管理”
2023-12-25 22:44:35 admin
活动发布区版规2023-05-27 22:03:52 御风而行
容器、无服务器、虚拟机:安全性差...2023-05-27 20:43:39 1356
服务器宕机的造成原因和解决方法介...2023-05-27 20:43:25 qingym
别糊涂了!服务器与工作站的五大区...2023-05-27 19:08:41 小绵羊0123
科技巨头布局云端 服务器 网络硬...2023-05-27 18:17:46 姐姐的跟屁虫
钉钉因系统访问流量激增,宕机1小...2022-07-23 00:34:02 freeatom
常见ftp命令 FTP命令使用详...2022-07-21 02:17:02 ares
双硬盘组建Raid0磁盘阵列图文...2022-07-20 06:17:02 mankeung123
用友软件客户端连接不上服务器的解...2022-07-23 00:51:02 antonfxb
WebService实例2022-07-13 05:38:02 苯小孩
开发、运维不可不看的Linux调...2022-07-20 18:51:02 nightstone
如何使用Charles抓取Web...2021-12-20 20:28:07 嫣Moira
杭州服务器托管公司有哪些?2022-01-12 05:38:03 wwwwycom
重庆双线服务器托管那家比较好2022-02-12 05:38:02 暴走中
Nginx下配置基于域名的虚拟主...2022-02-26 05:38:02 seaer
Nginx的启动、停止2022-03-03 05:38:02 jyuu
安装文件服务器2022-03-27 05:38:02 雪山飞蟹
ftp服务器怎么用2022-07-19 20:17:02 dengyu0429
linux vi使用及详细介绍2022-07-20 01:00:05 激动的舌头
Linux视频教程:用户管理命令...2022-07-21 20:51:02 jessica-an
创建本地FTP站点2022-02-07 05:38:03 jasonkidd
WEB服务器配置详解2022-07-20 04:51:02 wolfssss
ACL权限-默认与递归(4)2022-07-22 15:00:05 淡水珊瑚
Linux下 Samba Ser...