Tomcat集群的搭建

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mx_windxiao/article/details/78921910

(1)将tomcat解压后放在Apache目录,命名为tomcat1,tomcat2,tomcat3.。。。。。

(2)在Apache目录中进入conf目录,在其中新建mod_jk.conf文件,在其中写入


#加载mod_jk Module

LoadModule jk_module modules/mod_jk-apache-2.2.4.so

#指定 workers.properties文件路径

JkWorkersFile conf/workers.properties

#指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器

JkMount /*.jsp controller

#如果还要指定*.do也进行分流就再加一行

#JkMount /*.do controller

#如果你想对所有的请求进行分流只需要写成

#JkMount /* controller


(3)再创建workers.properties文件,写入(假设只有两个tomcat)


worker.list = controller,tomcat1,tomcat2 #server 列表

#========tomcat1========

worker.tomcat1.port=8009 #ajp13 端口号,在tomcat下server.xml配置,默认8009

worker.tomcat1.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址

worker.tomcat1.type=ajp13

worker.tomcat1.lbfactor = 1 #server的加权比重,值越高,分得的请求越多

#========tomcat2========

worker.tomcat2.port=8019 #ajp13 端口号,在tomcat下server.xml配置,默认8009

worker.tomcat2.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址

worker.tomcat2.type=ajp13

worker.tomcat2.lbfactor = 2 #server的加权比重,值越高,分得的请求越多

#========controller,负载均衡控制器========

worker.controller.type=lb

worker.controller.balanced_workers=tomcat1,tomcat2 #指定分担请求的tomcat

worker.controller.sticky_session=1


(4)将mod_jk.conf引入httpd.conf,在文件最后加入include conf/mod_jk.conf即可

(5)修改两个tomcat的配置文件,tomcat1\conf目录下的server.xml

需修改此三处:


<Server port="8005" shutdown="SHUTDOWN">

<Connector port="8080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" />

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />


修改为和worker.properties文件中的对应即可

(6)将mod_jk-apache-2.2.4.so文件放入Apache下的modules文件夹中

注:Apache版本不同,mod_jk的版本也不同,要一一对应,需重点注意

(7)将项目放入两个tomcat的webapp目录下,启动Apache和tomcat,然后浏览器访问。

这里测试用随便写的JSP即可,如下:


<%

System.out.println("1111111111111111111111111");

out.println("11111");

%>


访问页面多次刷新后结果如下图:

可见两个tomcat分别处理了数次请求,一个是另一个的一倍,这是因为在上面的例子中的在配置文件worker.properties中我们设置的Tomcat2的权值为2,如果把两个均设置为1,则处理的请求数量则相同,如下图:

如果设置为1和3则如下图:

设置为2和3如下图:

由此可知,权值与请求分发为倍数关系。

注意Apache和mod_jk的对应关系。这个与Tomcat无对应关系,各个版本均可使用。

注意:1.worker文件的格式一定要修改正常,尽量不要用记事本修改,一般APACHE的问题都是这个文件格式问题,用记事本编辑后会有不能读取的BUG

2.注意端口号不要重复,tomcat数量较多时一定要注意,每个里边三个端口号,与其他的不能重复,不能被占用,否则会出错。

猜你喜欢

转载自blog.csdn.net/mx_windxiao/article/details/78921910