tomcat 集群配置方法

本文介绍如何通过Apache和三个Tomcat实例实现负载均衡。包括安装Apache、Tomcat及mod_jk模块,配置各Tomcat实例端口,设置Apache以实现负载均衡,并启用session复制确保高可用性。

1.需要的软件

apache 2.0

http://mirror.bjtu.edu.cn/apache//httpd/binaries/win32/httpd-2.2.16-win32-x86-no_ssl.msi

tomcat 6.0

http://labs.renren.com/apache-mirror//tomcat/tomcat-6/v6.0.29/bin/apache-tomcat-6.0.29-windows-x86.zip

mod_jk

http://mirror.bjtu.edu.cn/apache/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.30/mod_jk-1.2.30-httpd-2.2.3.so

2.安装apache ,tomcat。

安装apache 使之可以访问。

mod_jk-1.2.30-httpd-2.2.3.so 文件名修改文 mod_jk.so并拷贝到modules目录。

安装3个tomcat。

修改tomat配置文件server.xml文件。

修改地方:

分别修改端口

tomcat1:

<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" />

<Engine name="Catalina" defaultHost="localhost" jvmRoute="s1">

去掉注释:

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

tomcat2:

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

<Connector port="9080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

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

<Engine name="Catalina" defaultHost="localhost" jvmRoute="s2">

去掉注释:

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

tomcat3:

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

<Connector port="7080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

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

<Engine name="Catalina" defaultHost="localhost" jvmRoute="s3">

去掉注释:

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

 

配置负载均衡

在apache 的conf目录。

添加一个文件jk_mod.conf.

内容为:

 

 

LoadModule jk_module modules/mod_jk.so
### 配置 mod_jk

#加载集群中的workers
JkWorkersFile conf/workers.properties 
#tomcat 处理的文件    
JkMount /*.jsp loadbalancer
#加载workers的请求处理分配文件   
#JkMountFile conf/uriworkermap.properties   
#指定jk的日志输出文件
JkLogFile logs/mod_jk.log                               
#指定日志级别
JkLogLevel warn   

 

在apacheconf目录新建文件 workers.properties 

 

# worker列表
worker.list=s1,s2,s3,loadbalancer
#第一个server的配置,server名为s1
#ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.s1.port=8009
#tomcat的主机地址,如不为本机,请填写ip地址
worker.s1.host=localhost
worker.s1.type=ajp13
#server的加权比重,值越高,分得的请求越多
worker.s1.lbfactor=1

#第二个server的配置,server名为s2
worker.s2.port=9009
worker.s2.host=localhost
worker.s2.type=ajp13
worker.s2.lbfactor=1

#第三个server的配置,server名为s3
worker.s3.port=7009
worker.s3.host=localhost
worker.s3.type=ajp13
worker.s3.lbfactor=1

#server名为controller,用于负载均衡
worker.loadbalancer.type=lb
worker.retries=3   #重试次数
#指定分担请求的server列表,用逗号分隔
worker.loadbalancer.balanced_workers=s1,s2,s3
#设置用于负载均衡的server的session可否共享,设置以后请求在同一台机器上访问。sticky_session_force 设置为1,

#当一台机器宕机时session拷贝到另外一台服务器。
worker.loadbalancer.sticky_session=1
#worker.loadbalancer.sticky_session_force=1

#worker.status.type=status

 

 

修改http.conf文件

添加一行

Include conf/jk_mod.conf

 

配置session复制。

 

修改每个应用程序的web.xml文件。

在文件中添加一行。

<distributable/>

这样session就可以在不同的tomcat中进行复制了。

 

 

 

 

 

转载于:https://www.cnblogs.com/yg_zhang/archive/2010/09/28/1837638.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值