本文将讲述如何在Linux下搭建tomcat集群,以及搭建过程中可能的遇到的问题和解决方法。为简单起见,本文演示搭建的集群只有两个tomact节点外加一个apache组成,三者将安装在同一机器上……

1.预期方针

本文将叙述如安在Linux下建立tomcat集群,以及建立进程中或许的遇到的问题和解决办法。为简略起见,本文演示建立的集群只要两个tomact节点外加一个apache组成,三者将装置在同一机器上:

apache:

装置途径:/usr/local/apache2

端口:90

tomcat1:

装置途径:/usr/local/apache-tomcat-6.0.33-1

端口:6080

tomcat2:

装置途径:/usr/local/apache-tomcat-6.0.33-2

端口:7080

2.所需求软件列表

apache

当时最新版别:2.2.21

本文选用源码办法装置,源码包下载地址:http://labs.renren.com/apache-mirror//httpd/httpd-2.2.21.tar.gz

其他版别下载地址拜见:http://httpd.apache.org/download.cgi

tomcat 6

当时最新版别:6.0.33

本文运用自解压的tar.gz包进行装置,下载地址:http://labs.renren.com/apache-mirror/tomcat/tomcat-6/v6.0.33/bin/apache-tomcat-6.0.33.tar.gz

其他版别下载地址拜见:http://tomcat.apache.org/download-60.cgi

Apache Tomcat Connector (也便是mod_jk)

当时最新版别:JK-1.2.32

本文选用源码办法装置,源码包下载地址:http://www.apache.org/dist/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.32-src.tar.gz

其他版别下载地址拜见:http://tomcat.apache.org/download-connectors.cgi

3.软件装置

3.1 装置apache

1.进入下载好的httpd-2.2.21.tar.gz文件地点目录,履行解压操作:

  1. tar-zxvfhttpd-2.2.21.tar.gz

2.进入解压出的文件夹根目录:

  1. cdhttpd-2.2.21

3.进行编译参数装备:

  1. ./configure--prefix=/usr/local/apache2--enable-mods-shared=all

关于configure参数的更多内容可参阅:

http://httpd.apache.org/docs/2.2/en/programs/configure.html#installationdirectories

4.编译装置:

  1. make
  2. makeinstall

5.发动和封闭apache

完结上述进程后,apache的装置就完毕了,经过下面的指令发动和封闭apache:

发动:

  1. /usr/local/apache2/bin/apachectlstart

封闭:

  1. /usr/local/apache2/bin/apachectlstop

3.2 关于在装置apache进程中报Cannot use an external APR with the bundled APR-util过错的解决办法

有时候,在装置apache,履行./configure操作时会报这个过错,解决办法是装置apache2.2.x本身带着的apr,办法为:

1.自源码装置目录httpd-2.2.21进入apache2.2.x自带apr的装置目录

  1. cdsrclib/apr

2.装置apr(此处将之装置在/usr/local/apr下,假如体系中现已装置apr,可找到装置目录进行掩盖)

  1. ./configure--prefix=/usr/local/apr
  2. make
  3. makeinstall

3.装置apr-util

  1. ./configure--prefix=/usr/local/apr-util--with-apr=/usr/local/apr
  2. make
  3. makeinstall

4.运用新装置的apr从头进行apache编译装备

放回装置根目录httpd-2.2.21,履行:

  1. ./configure--prefix=/usr/local/apache2\
  2. --enable-mods-shared=all\
  3. --with-apr=/usr/local/apr\
  4. --with-apr-util=/usr/local/apr-util/bin

弥补:

假如你装置是apache-2.4以上版别,有以下几点不同:

1、需求独自下载apr和apr-util

apr下载地址: http://mirror.bjtu.edu.cn/apache//apr/apr-1.4.6.tar.bz2

apr-util下载地址:http://mirror.bjtu.edu.cn/apache//apr/apr-util-1.4.1.tar.bz2

2. 此外还需求装置pcre

去http://pcre.org/下载pcre,解压进入源码目录履行

  1. cdhttpd-2.2.21
0

3. 最终装置apache时configure需求这样装备

  1. cdhttpd-2.2.21
1

#p#

3.3 装置Apache Tomcat Connector(mod_jk)

1.进入下载好的tomcat-connectors-1.2.32-src.tar.gz文件地点目录,履行解压操作:

  1. cdhttpd-2.2.21
2

2.进入解压出的文件夹下的native子目录:

  1. cdhttpd-2.2.21
3

3.进行编译参数装备:

  1. cdhttpd-2.2.21
4

4.编译装置:

  1. make
  2. makeinstall

假如成功完毕,你能够在/usr/local/apache2/modules/下找到mod_jk.so文件。

3.4 装置tomcat

两次解压下载到的apache-tomcat-6.0.33.tar.gz文件至/usr/local/,并别离重命名为apache-tomcat-6.0.33-1和apache-tomcat-6.0.33-2

4.集群装备

4.1 装备tomcat

1.修正端口

关于tomcat装备首要会集在conf/server.xml文件上。首要,鉴所以在同一机器上运转两个tomcat实例,因而,要对server.xml中装备的一切端口进行修正,防止端口被占用,一种简略而保险的修正办法是将该文件中呈现的一切端口号按一种简略的规矩共同进行改动,比如在原端口号基础上共同加1000或减1000。根据这个准则,apache-tomcat-6.0.33-1的衔接端口修正为

6080,apache-tomcat-6.0.33-2的衔接端口修正为:7080,其他端口装备相同按照该准则。

2.敞开tomcat集群支撑

相同是在conf/server.xml文件里,进行两处改动:

改动1:为<Engine>设置jvmRoute

实际上,在server.xml里就有一段现成的带jvmRoute的<Engine>装备,咱们能够参阅这段装备为<Engine/>加个jvmRoute就能够了,关于jvmRoute的取值要特别留意:其值有必要于后边要说到的mod_jk的workers.properties文件中结点名相共同!因为那个文件中结点名为tomcat1和tomcat2,因而,此处咱们有必要设定jvmRoute的值为这两个值之一。关于这一点在tomcat官方关于Apache Tomcat Connector的文档 http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html 也有清晰提及。jvmRoute值会呈现在由该结点创立的session id中,例如:在非集群环境下,一个sessionid或许是 “xxxxxxxxx” 的格局,而在集群环境下,假如当时结点的jvmRtomat1oute被装备为tomcat1,那由该结点生成的sessionid将变成“xxxxxxxxx.tomat1”格局,而mod_jk正是依赖于这个节点后缀完结sticky session的,也便是把一切后缀是tomat1的恳求都发送给tomat1结点进行处理。

Linux下建立tomcat集群全记录(linux部署多个tomcat)  Linux tomcat tomcat集群 第1张

改动2:在<Engine/>中增加关于集群的装备

在tomcat官方关于tomcat集群装备的文档:http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html 中,有一份默许装备:

  1. cdhttpd-2.2.21
6

这份默许装备能够满意大多数运用场景,因而,咱们只需求将这份装备复制到<Engine/>中,tomcat的装备就悉数完结了。

#p#

4.2 装备apache

翻开apache装置目录下的conf/httpd.conf文件,在文件最终追加以下内容:

  1. cdhttpd-2.2.21
7

关于mod_jk装备项的具体内容,可参阅:http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html

上述装备中:JkWorkersFile conf/workers.properties 指明由一个workers.properties文件来描绘集群结点的状况,因而,咱们需求创立这个workers.properties文件,并放置于conf文件夹下,这个文件的内容如下:

  1. cdhttpd-2.2.21
8

到此,一切装备均已完结,发动两个tomcat和apache后,将某一运用一起布置到两个tomcat中,经过apache拜访这个运用,调查tomcat后台打出的日志会发现,恳求被随机分配给了两个tomcat替换履行。

补白:运用程序要为集群所做的预备

1. 在运用程序的web.xml中需求参加:<distributable/>元素

2. session中寄存的数据(如attribute)有必要完结序列化。

参阅资源:

tomcat官方关于tomcat集群装备的文档:

http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html

tomcat官方关于Apache Tomcat Connector的文档

http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html

apache官方关于apache的装置文档

http://httpd.apache.org/docs/2.2/en/install.html

apache官方关于configure参数的文档

http://httpd.apache.org/docs/2.2/en/programs/configure.html#insta

转载请说明出处
知优网 » Linux下建立tomcat集群全记录(linux部署多个tomcat)

发表评论

您需要后才能发表评论