Apache+Tomcat集群环境配置

一、web开发中,为什么需要tomcat集群,我个人认为有两点:

1、防止其中的一个单一的应用服务器出现意外(崩溃,断电),导致请求无法处理。

2、分发处理请求减少应用服务器的压力。

下面切入正题,如何配置:

 

二、软件准备:

Apache:http://apache.fayea.com/apache-mirror//httpd/binaries/win32/httpd-2.0.65-win32-x86-no_ssl.msi

mod_jk:   http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.15/mod_jk-apache-2.0.55.so

Tomcat:相信做web开发基本上电脑上都有。

 

三、安装Apache,一步一步点下去就OK

 

四、安装Tomcat(现在我们用的一般都是解压版的,好用)

 

五、将多个Tomcat解压到Apache的安装目录下:如:C:\Program Files\Apache Group

C:\Program Files\Apache Group\Apache2

C:\Program Files\Apache Group\tomcat6_1

C:\Program Files\Apache Group\tomcat6_2

 习惯性命名为tomcat_v_order形式,方便区分。

 

六、修改C:\Program Files\Apache Group\Apache2\conf目录下的配置文件:httpd.conf

在最好一行添加如下内容:

   

 #集群配置
    include conf/mod_jk.conf

 

 七、将下载的mod_jk-apache-2.0.55.so文件拷贝到C:\Program Files\Apache Group\Apache2\modules目录下。

 

八、在C:\Program Files\Apache Group\Apache2\conf下创建mod_jk.conf 文件,内容配置如下:

#加载mod_jk Module  
LoadModule jk_module modules/mod_jk-apache-2.0.55.so   
#指定 workers.properties文件路径    
JkWorkersFile conf/workers.properties    
   
#指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器    
JkMount /*.jsp controller  
 

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

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

 

 

 

九、C:\Program Files\Apache Group\Apache2\conf目录下创建workers.properties文件,内容配置如下:

 

worker.list = controller,tomcat6_1,tomcat6_2  #server 列表    
#========tomcat6_1========    
worker.tomcat6_1.port=8209       #ajp13 端口号,在tomcat下server.xml配置,默认8009    
worker.tomcat6_1.host=localhost  #tomcat的主机地址,如不为本机,请填写ip地址    
worker.tomcat6_1.type=ajp13   
worker.tomcat6_1.lbfactor = 1    #server的加权比重,值越高,分得的请求越多    
   
#========tomcat6_2========    
worker.tomcat6_2.port=8109       #ajp13 端口号,在tomcat下server.xml配置,默认8009    
worker.tomcat6_2.host=localhost  #tomcat的主机地址,如不为本机,请填写ip地址    
worker.tomcat6_2.type=ajp13    
worker.tomcat6_2.lbfactor = 2    #server的加权比重,值越高,分得的请求越多    
   
#========controller,负载均衡控制器========    
worker.controller.type=lb
   
#指定分担请求的tomcat 
worker.controller.balanced_workers=tomcat6_1,tomcat6_2
  
#指明session是否是黏性的。
#其默认值为1(true),表示使用黏性session,即一个会话中的请求始终由一个tomcat进行处理;
#为0时表示使用非黏性session,即同一会话中的请求可由不同的tomcat处理,
#各tomcat之间需同步Session   
worker.controller.sticky_session=1

#指明session的黏性是否是绝对的、强制的。
#其默认值为0(false),表示非强制,当集群中某台服务器多次请求没响应时,则将请求转发到其它tomcat处理;
#为1时表示强制,即使某台服务器宕机也不会将请求转发到其它服务器。  
worker.loadbalancer.sticky_session_force=0

  

 

十、修改对应tomcat的server.xml文件AJP13端口要保持和workers.properties指定的端口号一致:

Tomcat6_1:

 

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

 

Tomcat6_2:

 

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

 

其次分别修改其中一个server.xml文件中的这两个元素的端口号,以防止相同而冲突。

 

    

<!--默认端口号位8005-->
 <Server port="8105" shutdown="SHUTDOWN">

<!--默认端口为8080-->
<Connector port="8180" protocol="HTTP/1.1" connectionTimeout="20000"  redirectPort="8443" />

 

   为了能共享session,还要对tomcat对应server.xml文件中修改Cluster的注释:

  

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

 

如此集群配置完成,查看测试小案例

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值