千家信息网

如何搭建tomcat+apache+linux集群

发表于:2024-11-20 作者:千家信息网编辑
千家信息网最后更新 2024年11月20日,如何搭建tomcat+apache+linux集群,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。该集群为伪集群,实际应用的时候tom
千家信息网最后更新 2024年11月20日如何搭建tomcat+apache+linux集群

如何搭建tomcat+apache+linux集群,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

该集群为伪集群,实际应用的时候tomcat应该安装在不同的机器上,而不是同一台机器上

一.配置环境

操作系统:rhel5

服务器IP:192.168.93.43

jdk版本:1.6.0_20

apache 版本:httpd-2.2.16.tar.gz

tomcat 版本:apache-tomcat-5.5.30.tar.gz

jk版本:tomcat-connectors-1.2.30-src.tar.gz

3个安装包默认放在了usr/local目录下,用root用户下载

共一台机器,所以apache、jdk和2个tomcat都装在一台机器上了,一般情况是apache和jdk装在一台机器上,tomcat分别装在各个机器或者装同一台机器上。

二.安装

a) jdk安装,略。

b) apache安装

# cd /usr/local/

# mkdir apache

# tar xvfz httpd-2.2.16.tar.gz

# cd httpd-2.2.16

#./configure --prefix=/usr/local/apache --enable-modules=so --enable-so

配置安装路径信息等

# make

# make install

# cd /usr/local/apache/bin/

# ./apachectl configtest

若显示Syntax ok则表明安装成功,中间出现一些别的信息,如: httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.93.43 for ServerName 可以忽略;

#./apachectl start

启动apache服务,浏览器中输入127.0.0.1看是否有it works

# ./apachectl stop

关闭服务

注:系统可能自带安装了Apache,如果不需要,可以先将自带的卸载掉后再安装,否则可能出现直接访问系统自带的Apache。

c) tomcat安装

# cd /usr/local/

# tar xvfz apache-tomcat-5.5.30.tar.gz

# mv apache-tomcat-5.5.30  /usr/local/tomcat 修改解压后的文件夹名字

# /usr/local/tomcat/bin/startup.sh

启动服务后,访问本机8080端口

# /usr/local/tomcat/bin/startup.sh /startup.bat

关闭服务

# /usr/local/tomcat/bin/shutdown.sh

# tail -f logs/catalina.out 查看tomcat的控制台输出

如果碰到tomcat关不完全等情况,执行如下操作

#ps -ef |grep tomcat 查看tomcat进程

#kill -9 pid 如果有,用kill;pid为进程号

d) jk安装

#cd /usr/local/

# tar xzvf tomcat-connectors-1.2.30-src.tar.gz

#cd tomcat-connectors-1.2.30-src/jk/native

#chmod 755 buildconf.sh

#./buildconf.sh

#./configure --with-apxs=/usr/local/apache/bin/apxs

#make

#make install

我安装好了之后,发现/usr/local/apache/modules/下已经有mod_jk.so了

注意先查看下,如果没有则执行下面的步骤

#cd /usr/local/ jakarta-tomcat-connectors- jk1.2.14-src/jk/native/apache-2.0/

#cp mod_jk.so /usr/local/apache/modules/

三.配置

a) httpd.conf配置

#vi /usr/local/apache/conf/httpd.conf

在文件的最尾部加上如下语句

# Load mod_jk

LoadModule jk_module modules/mod_jk.so

# Configure mod_jk

JkWorkersFile conf/workers.properties

JkLogFile logs/mod_jk.log

JkLogLevel info

转发过滤,将符合以下条件的请求发送到负载平衡器

JkMount /*.jsp loadbalancer

JkMount /servlet/* loadbalancer

JkMount /application/* loadbalancer

b) workers.properties 添加

#vi /usr/local/apache/conf/workers.properties 如果workers.properties不存在就表示新建该文件

内容如下:

worker.list=loadbalancer

worker.worker1.port=8009 worker1所在的端口

worker.worker1.host=192.168.93.43 worker1所在的IP

worker.worker1.type=ajp13

worker.worker1.lbfactor=1

worker.worker2.port=9009 worker2所在的端口

worker.worker2.host=192.168.93.43 worker2所在的IP

worker.worker2.type=ajp13

worker.worker2.lbfactor=1 #权量 数值越大,分配的机率就最小

worker.loadbalancer.type=lb

worker.loadbalancer.balanced_workers=worker1,worker2

worker.loadbalancer.local_worker_only=1

worker.loadbalancer.sticky_session=true

此处指定集群是否需要会话复制,如果设为true,则表明为会话粘性,不进行会话复制,当某用户的请求第一次分发到哪台Tomcat后,后继的请求会一直分发到此Tomcat服务器上处理;如果设为false,则表明需求会话复制。

worker.loadbalancer.sticky_session_force=true

如果上面的sticky_session设为true时,建议此处也设为true,此参数表明如果集群中某台Tomcat服务器在多次请求没有响 应后,是否将当前的请求,转发到其它Tomcat服务器上处理;此参数在sticky_session=true时,影响比较大,会导致转发到其它 Tomcat服务器上的请求,找不到原来的session,所以如果此时请求中有读取session中某些信息的话,就会导致应用的null异常。

c) server.xml配置

修改第一个tomcat的server.xml文件,修改过后的配置如下

将Cluster标签对的注释去掉修改里面的

tcpListenAddress="192.168.93.43"

其中第一个tomcat的端口为:8005、8080、8009

修改第二个tomcat的server.xml文件,修改过后的配置如下

将Cluster标签对的注释去掉修改里面的

tcpListenAddress="192.168.93.43"

其中第二个tomcat的端口为:9005、9080、9009

保存后重启tomcat检查是否正常

关于如何搭建tomcat+apache+linux集群问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

0