如何搭建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集群问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


当前名称:如何搭建tomcat+apache+linux集群
文章转载:http://ybzwz.com/article/psjedj.html