apache2 + tomcat6 + jk_mod 实现tomcat负载均衡

Linux, 安装配置 , , , , ,

题记:这个以前其实做过好多次了,但可惜的是一直都没有做记录,现在隔了蛮长时间了,好多东西都又不记得了。

环境:CentOS 5.1,无SELinux,无iptables

安装的软件:

  • httpd,httpd-devel
  • jdk-6u6-linux-i586.bin
  • apache-tomcat-6.0.16.tar.gz
  • tomcat-connectors-1.2.26-src.tar.gz(即jk_mod)

一,安装httpd,httpd-devel

[root@server ~]# yum install -y httpd httpd-devel

二,安装JDK

[root@server ~]# chmod u+x jdk-6u6-linux-i586.bin
[root@server ~]# ./jdk-6u6-linux-i586.bin
[root@server ~]#export JAVA_HOME=/root/jdk1.6.0_06
[root@server ~]#export PATH=$PATH:${JAVA_HOME}/bin

三,安装jk_mod

[root@server ~]# tarp -xvf tomcat-connectors-1.2.26-src.tar.gz
[root@server ~]# cd tomcat-connectors-1.2.26-src
[root@server tomcat-connectors-1.2.26-src]# cd native/
[root@server native]# ./configure --with-apxs=/usr/sbin/apxs
[root@server native]# make
[root@server native]# make install

四,安装配置tomcat
安装tomcat
这个非常简单,我们只要将apache-tomcat-6.0.16.tar.gz解压就可以了,因为我们要做负载均衡,所以我们加上两个tomcat

[root@server ~]# tar -xvf apache-tomcat-6.0.16.tar.gz
[root@server ~]# mv apache-tomcat-6.0.16 tomcat1
[root@server ~]# cp -r tomcat1 tomcat2

配置tomcat
这步要配置的东西也不多,主要是server.xml里面的四个参数:Server port, AJP port, http port以及 jvmRoute
/root/tomcat1/的参数:

Server port:   6001
AJP port:       7001
http port:      8001
jvmRoute:      tomcat1

/root/tomcat2/的参数:

Server port:   6002
AJP port:       7002
http port:      8002
jvmRoute:      tomcat2

五,配置apache

创建workers.properties文件

[root@server conf]# pwd
/etc/httpd/conf
[root@server conf]# touch workers.properties

文件内容如下:

ps=/
#The advanced router LB worker and jk_status
worker.list=router,status
# Define a worker using ajp13
worker.tomcat1.port=7001
worker.tomcat1.host=localhost
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=1
#Define another worker using ajp13
worker.tomcat2.port=7002
worker.tomcat2.host=localhost
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1
#Define the LB worker
worker.router.type=lb
worker.router.balance_workers=tomcat1,tomcat2
worker.router.sticky_session=1
worker.status.type=status

编辑http.conf

找到:

LoadModule version_module modules/mod_version.so

在下面添加:

LoadModule jk_module modules/mod_jk.so

JkWorkersFile conf/workers.properties

找到:

DocumentRoot "/var/www/html"

在下面添加:

JkMount /* router
JkLogFile     /var/log/httpd/mod_jk.log
JkLogLevel    debug
JkLogStampFormat "[%a %b %d %U %H:%M:%S %w %R %Y] "

六,启动所有程序

[root@server ~]# /etc/init.d/httpd start
[root@server ~]# /root/tomcat1/bin/startup.sh
[root@server ~]# /root/tomcat2/bin/startup.sh

到这里,我们输入http://localhost
就已经可以看到tomcat的页面了,loadbalance已经配置成功了
大家可以做些实验测试下,我就不再继续了


Leave a Reply