您当前的位置: 首页 >  tomcat

科技D人生

暂无认证

  • 0浏览

    0关注

    1550博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Tomcat学习总结(12)—— Tomcat集群配置

科技D人生 发布时间:2016-12-07 14:22:13 ,浏览量:0

现目前基于javaWeb开发的应用系统已经比比皆是,尤其是电子商务网站,要想网站发展壮大,那么必然就得能够承受住庞大的网站访问量;大家知道如果服务器访问量过大,就会出现服应用务器崩溃的情况,这个时候怎么办,难道就只能去重启服务器吗?好,如果是一般的小型公益网站到也无所谓,但如果是比如像大型航空公司售票等电子商务网站,每天每小时都有大量的订单业务,如果这些售票系统一旦崩溃后,再去重启,这些时间和客户的损失就直接会影响到航空公司的利益,这些损失如何去避免呢。

别担心,不管是目前IBM的webSphere还是大众化的tomcat服务器,都为我们提供了一种通用的解决方式,就是多台服务器来分担访问量,这样在一个服务器上的压力就会减小很多,你可以根据自己的需求去配置任意多的服务器来支撑你的应用系统,如果一台服务崩溃了,那么另外的应用服务器依然可以继续支持应用继续服务。多应用服务器的简单流程图大致如下:

为了实现这个原理我们就需要解决两个问题:

1:如何实现多应用服务器间的session共享:(一台服务器崩溃,另外一台服务器可以继续支持)

2:如何分发请求到各个应用服务器实现压力分解:(这里的解决方案是用apache做 web服务器)

下面我们就是实际行动来看看如何实现这种实现。

环境配置:

App应用服务器apache-tomcat-7.0.52-1 

web服务器:apache的apache 2.0.55

Java环境:jdk1.6

系统环境:winxp系统

1) web服务器配置

首先安装apache的web服务器:

apache服务器和tomcat的连接方法其实有三种:mod_JK、http_proxy和ajp_proxy。

一:软件环境    1. Apache: apache 2.0.55 (由http://httpd.apache.org/进入下载)(点击下载apache 2.0.55)    2. Tomcat: apache-tomcat-7.0.52-1    3. mod_jk: 在页面 http://tomcat.apache.org/   Download 标题下找到 Tomcat Connectors 链接进入(点击下载mod_jk-apache-2.0.55.so),看起来像是个Unix/Linux下的动态库,实际应是个Win32 的 DLL 动态库,大概是为保持不同平台配置的一致性,才用了这个扩展名。

二:负载均衡  用Apache进行分流,把请求按照权重以及当时负荷分tomcat1,tomcat2...去处理 1. 安装apache,tomcat    我把Apache安装在D:/Apache Group/Apache2   解压两分Tomcat, 分别在 D:/Apache Group/apache-tomcat-7.0.52-1,D:/Apache Group/apache-tomcat-7.0.52-1 2.修改Apache配置文件http.conf    在apache安装目录下conf目录中找到http.conf,在文件最后加上下面一句话就可以了    include conf/mod_jk.conf

3. http.conf 同目录下新建mod_jk.conf文件,内容如下

[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. #加载mod_jk Module     
  2. LoadModule jk_module modules/mod_jk-apache-2.0.55.so     
  3.     
  4. #指定 workers.properties文件路径     
  5. JkWorkersFile conf/workers.properties     
  6.     
  7. #指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器     
  8. JkMount /*.jsp controller    
如果还要指定*.do也进行分流就再加一行 JkMount /*.do controller 如果你想对所有的请求进行分流只需要写成 JkMount /* controller

4. 在http.conf同目录下新建 workers.properties文件

[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. worker.list = controller,tomcat1,tomcat2  #server 列表      
  2. #========tomcat1========      
  3. worker.tomcat1.port=8019       #ajp13 端口号,在tomcat下server.xml配置,默认8009      
  4. worker.tomcat1.host=localhost  #tomcat的主机地址,如不为本机,请填写ip地址      
  5. worker.tomcat1.type=ajp13      
  6. worker.tomcat1.lbfactor = 1    #server的加权比重,值越高,分得的请求越多      
  7.      
  8. #========tomcat2========      
  9. worker.tomcat2.port=8029       #ajp13 端口号,在tomcat下server.xml配置,默认8009      
  10. worker.tomcat2.host=localhost  #tomcat的主机地址,如不为本机,请填写ip地址      
  11. worker.tomcat2.type=ajp13      
  12. worker.tomcat2.lbfactor = 2    #server的加权比重,值越高,分得的请求越多      
  13.      
  14. #========controller,负载均衡控制器========      
  15. worker.controller.type=lb      
  16. worker.controller.balanced_workers=tomcat1,tomcat2   #指定分担请求的tomcat      
  17. worker.controller.sticky_session=1  

5. 修改tomcat配置文件server.xml 如果你是水平集群,即在不同电脑上安装tomcat,tomcat的安装数量为一个,可以不必修改tomcat配置文件.我这里是在同一台电脑上安装两个tomcat,实现的是垂直集群方式,所以必须修改其中一个的设置,以避免端口冲突,按照参考文章是把原来以9开头的端口号改为以9开头端口号,但是在我机器上如果以9开头的端口号,例如9080、9082会与我的WebSphere Application Server配置冲突,所以我这里采取的策略是把原来端口号的第三位改为1,如8080改为8180。 打开tomcat2/conf/server.xml文件 1) 将关闭Tomcat的监听端口改成由8005改为8105 即把   改为   2) 把http服务端口号由8080改为8180 找到      

关注
打赏
1662604032
查看更多评论
立即登录/注册

微信扫码登录

0.0904s