Apache+Tomcat+mod_jk负载均衡、集群配置

本文详细介绍了如何配置Apache HttpServer与Tomcat通过mod_jk实现负载均衡的方法。包括软件版本选择、Apache与Tomcat的安装路径设置、Apache配置文件的修改、mod_jk.so模块的加载、workers.properties文件的创建及配置、Tomcat server.xml文件的调整等内容。

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

1.下载,Apache Http Server和与其版本相对应的TomcatConnector(mod_jk),下载地址:http://httpd.apache.org/download.cgi,关于下载和安装Apache,我的上一篇博文有介绍。下载,Apache Http Server和与其版本相对应的TomcatConnector(mod_jk),下载地址:http://httpd.apache.org/download.cgi,关于下载和安装Apache,我的上一篇博文有介绍。
下载Tomcat,下载地址:http://tomcat.apache.org/,
使用Tomcat,需要安装jdk,
我用的软件的版本:Apache:2.4.20,mod_jk:1.2.41,Tomcat:7.0.39,jdk:1.7,Apache和Tomcat都是免安装版。
2.安装,Apache:D:\Apache24,Tomcat:D:\Tomcat7.0.39,就是解压到相应目录我用的是两台服务器,因此Tomcat在两台服务器上的相应目录,都复制一份;两台服务器ip分别为192.168.0.10和192.168.0.20.
3.修改Apache配置文件http.conf(D:\Apache24\conf\httpd.conf)
在文件的最后加上一句: includeconf/mod_jk.conf
4.将下载的mod_jk.so文件拷贝至Apache\modules文件夹,在httpd.conf的同目录下新建mod_jk.conf文件,加入以下内容:
#加载mod_jk Module   
LoadModule jk_module modules/mod_jk.so    
#指定 workers.properties文件路径  
JkWorkersFile conf/workers.properties  
#指定哪些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器,/*表示所有请求都交给tomcat
JkMount /* controller  
#指定jk的日志输出文件
JkLogFile logs/mod_jk.log
#指定日志级别
JkLogLevel warn
5.在httpd.conf的同目录下新建workers.properties文件
#server 列表
worker.list = controller,tomcat1,tomcat2     
#========tomcat1========   
#ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.tomcat1.port=8009         
#tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcat1.host=localhost     
worker.tomcat1.type=ajp13   
#server的加权比重,值越高,分得的请求越多
worker.tomcat1.lbfactor = 1       
   
#========tomcat2========   
#ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.tomcat2.port=8009
#tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcat2.host=192.168.0.20
worker.tomcat2.type=ajp13
#server的加权比重,值越高,分得的请求越多
worker.tomcat2.lbfactor = 1
   
#========controller,负载均衡控制器========   
worker.controller.type=lb
worker.controller.balance_workers=tomcat1,tomcat2  #指定分担请求的tomcat,注意是balance,不是balanced,网上好多都是错的
worker.controller.sticky_session=true
worker.controller.sticky_session_force=true
注:1.因为我是两台服务器,所以tomcat1和tomcat2的端口相同,如果在同一台服务器上,端口会冲突,请修改其中一个端口2.最后两行,两个true表示Apache对访问请求在两个tomcat间来回切换,但同一个用户的请求由同一个tomcat处理
6.修改两个tomcat的conf\server.xml文件
Engine name="Catalina"defaultHost="localhost" 后面加上jvmRoute="XXX"
XXX分别为tomcat1和tomcat2
7.如果两个tomcat在同一台服务器上,则需进行此步修改;否则,无需进行此步修改。
修改server.xml中的端口号,包括8005,8080,8009。我的就这三个端口,没开别的。如果开了其他冲突的端口,一并修改。
 
至此,Apache配置负载均衡完成。
在两个tomcat的tomcat\webapps下新建文件夹test,在test文件夹内新建test.jsp,加入以下测试代码: 
<%
System.out.println("随便写点东西");
%>

集群配置参考:https://blog.youkuaiyun.com/whumr1/article/details/7804992

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值