`
dqm926
  • 浏览: 27847 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

一个apache下搭建多个tomcat的实例

 
阅读更多

 

 

在Windows系统下搭建一个apache搭载多个tomcat(Tomcat和Apache集群),apache一是响应静态文件的请求(js、html以及一些图片),二是作为分发器将动态请求分发给下面的tomcat。这样要比单纯tomcat的要高很多,还有就是如果一个tomcat服务器挂了,系统仍然可以运行。

下面是本人参考网上其他一些同行的播客做的实例:

1、准备工具:

(1)、apache:http://labs.mop.com/apache-mirror//httpd/binaries/win32/#warnings



 (2)、mod_jk-1.2.28-httpd-2.2.3.so(即JK):这个网上很容易下,我在附件中也已经给出。是这是一款apache用来连接后台tomcat的模块,支持集群和负载均衡。

(3)、两个tomcat(我用的是tomcat6,这个自己下)

2、部署apache、tomcat:

apache直接安装即可,因为我是在一台电脑上做的实验其中一个tomcat需要改端口:

<Server port="9005" shutdown="SHUTDOWN">:原来是8005

                               <Connector executor="tomcatThreadPool"
                                                   port="9080" protocol="HTTP/1.1"
                                                   connectionTimeout="20000"
                                                   redirectPort="8443" />     :原来是8080

                                <Connector port="9009" protocol="AJP/1.3" redirectPort="8443" />:原来是8009

查看apache是否启动,查看两个tomcat是否能同时启动,如果可以进行下面群集的配置。

3、开始搭建(群集以及负载均衡配置):

(1)、将mod_jk-1.2.28-httpd-2.2.3.so丢到apache下的modules下面,即E:\Apache2.2\modules下面(我的apache路径是E:\Apache2.2)

(2)、配置apache:

E:\Apache2.2\conf下面创建workers.properties(里面配置了分发的tomcat服务器以及负载均衡的配置)

#server
worker.list = controller
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2

worker.controller.sticky_session=true // 粘性session处理
#========tomcat1========
worker.tomcat1.port=8009
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1
#========tomcat2========
worker.tomcat2.port=9009
worker.tomcat2.host=localhost
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1 // 值越大,分发给的几率越大

E:\Apache2.2\conf下面创建mod_jk.conf,内容如下:

LoadModule jk_module modules/mod_jk-1.2.28-httpd-2.2.3.so
JkWorkersFile conf/workers.properties
#指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器名
JkMount /*.jsp controller

在E:\Apache2.2\conf下面找到httpd.conf,在最下面加上:

include "E:\Apache2.2\conf\mod_jk.conf"

(3)、修改tomcat下的配置:

修改conf下面的server.xml:

打开:<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>(之前一般是注释掉了)

<Engine name="Catalina" defaultHost="localhost">改为<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">(tomcat2的话就为tomcat2)

(4)、配置完成,运行tomcat以及apache

4、测试:

用下面给出的test测试:

打开两个不同的浏览器,访问:http://localhost/test/index.jsp



 

 发现访问的是两个不同的tomcat说明成功,你不停的刷新一个浏览器,发现sessionID不变,tomcat也不变,这就是因为配置了
粘性session。

  • 大小: 59.2 KB
  • 大小: 28.9 KB
  • 大小: 24 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics