在Windows下搭建Apache+Tomcat服务器实现负载均衡

本文介绍如何通过配置Apache和Tomcat实现负载均衡,包括所需软件安装、配置文件workers.properties与Uriworkermap.properties的详细设置,以及Apache与Tomcat的相关配置步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需要的软件:

(1)Apache24

        (2)tomcat-connectors-1.2.35-windows-i386-httpd-2.4.x.zip 

(3)2个Tomcat

将2中的mod_jk.so文件拷贝到Apache24/modules文件夹下

在Apache24\conf文件夹下建立2个文件workers.properties和Uriworkermap.properties。

------------------------------------------------------------------------

workers.properties内容如下:

------------------------------------------------------------------------

# worker 列表    


worker.list=LB_worker,jkstatus    


# 第一个worker的配置,名为worker_1    


#tomcat 的主机地址,如不为本机,请填写ip地址    


worker.worker_1.host=localhost


#ajp13  端口号,对应tomcat配置文件server.xml中Connector port="8009",默认8009    


worker.worker_1.port=8009    


worker.worker_1.type=ajp13    


# 负载的权重值,越高表示负载越大    


worker.worker_1.lbfactor=3


worker.worker_1.socket_keepalive=1


worker.worker_1.socket_timeout=0


worker.worker_1.retries=1


# 第二个worker的配置,名为worker_2    


worker.worker_2.host=localhost


#ajp13  端口号,对应tomcat配置文件server.xml中Connector port="8090"    


worker.worker_2.port=8090  


worker.worker_2.type=ajp13    


worker.worker_2.lbfactor=1


worker.worker_2.socket_keepalive=1


worker.worker_2.socket_timeout=0


worker.worker_2.retries=1


 


#LB_worker, 用于负载均衡分发的控制器    


worker.LB_worker.type=lb    


# 重试次数    


worker.LB_worker.retries=1    


# 指定负载的worker列表,用逗号分隔    


worker.LB_worker.balance_workers=worker_1,worker_2


# 配置session会话是否为粘性    


# 这样负载均衡器lb就会尽量保持一个session,也就是使用户在一次会话中跟同一个Tomcat进行交互    


worker.LB_worker.sticky_session=false


# 如果sticky_session设为true时,此处一般设为false


worker.LB_worker.sticky_session_force=false


# 设置运行状态的控制器


worker.jkstatus.type=status

------------------------------------------------------------------------

Uriworkermap.properties内容如下

------------------------------------------------------------------------

# 所有请求都由LB_worker 这个worker处理    


/*=LB_worker    


# 所有包含jkstatus请求的都由名称叫jkstatus的这个worker处理    


/jkstatus=jkstatus

------------------------------------------------------------------------

修改http.conf配置文件最末尾加上

#module mod_jk config file  


Include conf/extra/mod_jk.conf

------------------------------------------------------------------------

在conf/extra/新建配置文件mod_jk.conf

内容如下

------------------------------------------------------------------------

#load module mod_jk-1.2.31-httpd-2.2.3.so is for Apache 2.2.x.    


LoadModule jk_module modules/mod_jk.so  


# 配置 mod_jk conf    


# 加载集群中的workers    


JkWorkersFile conf/workers.properties    


# 加载workers的请求处理分配文件            


JkMountFile conf/uriworkermap.properties    


# 指定jk的日志输出文件    


JkLogFile logs/mod_jk.log    


# 指定日志级别    


JkLogLevel info

------------------------------------------------------------------------

修改tomcat下的server.xml配置文件

<Server port="8005" shutdown="SHUTDOWN"> //两个server shutdown端口不一样即可

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />  //两个端口不一样即可

 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> //一个为8009 一个为8090 符合上面配置文件的配置

<Engine name="Catalina" defaultHost="localhost" jvmRoute="worker_1">//一个为worker_1一个为worker_2符合上面配置文件的配置


然后分别启动2个tomcat和Apache的httpd    即可测试




























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值