下面就直接写过程了,我也是网络上学习的,只是总结下过程而且利用最新的Apache和Tomcat测试了下,仍是与网络上有些不一样的。tomcat
修改Apache配置 服务器
一、修改httpd.conf网络
个人Apache安装在D:\Program Files\Apache Software Foundation\Apache2.2,找到conf目录下的httpd.conf,在文件的最后一行添加session
include "D:\Program Files\Apache Software Foundation\Apache2.2\conf\mod_jk.conf"负载均衡
二、新建mod_jk.conf文件,内容以下:jvm
LoadModule jk_module modules/mod_jk.so学习
JkWorkersFile conf/workers.properties测试
#指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器名spa
JkMount /* controller插件
三、将下载的JK插件mod_jk.so复制到Apache安装目录的modules目录下。
四、新建并编辑workers.properties文件,内容以下:
#server
worker.list = controller
#========tomcat1========
worker.tomcat1.port=11009
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1
#========tomcat2========
worker.tomcat2.port=12009
worker.tomcat2.host=localhost
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1
#========tomcat3========
worker.tomcat3.port=13009
worker.tomcat3.host=192.168.0.80 //在个人虚拟机中的,能够算远程的吧
worker.tomcat3.type=ajp13
worker.tomcat3.lbfactor = 1
#========controller,负载均衡控制器========
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2,tomcat3
worker.controller.sticky_session=false
worker.controller.sticky_session_force=1
#worker.controller.sticky_session=1
这里能够配置任意多个Tomcat,此处配置了3个Tomat服务器,2个本地,1个远程,因此为了它们都可以顺利启动起来,本地的服务器端口都是不一样的,若是Tomcat再也不同一机器上,不必改端口的。
配置Tomcat
配置3个Tomcat服务器,将Tomcat解压后复制3份,我将每一个文件夹分别命名为Tomcat1,Tomcat2和Tomcat3,修改每一份的server.xml配置,将Tomcat1中修改部分以下图:
Tomcat2中以上部分的server.xml为:
Tomcat3中以上部分的server.xml为:
由于Tomat3在远程服务器,因此不必改端口的,而我先进行的本地集群测试后将Tomcat3复制到远程服务器,因此这3个Tomcat端口都不一样。
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />是接收其余服务器发送请求的端口号;
<Server port="8005" shutdown="SHUTDOWN">是启动server后,监听关闭该server的shutdown命令的端口号;
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="GBK" />是接收客户端请求的端口号;
AJP13的connector的poat和jvmRoute名称和workers.properties中配置对应。