基于Ubuntu的Tomcat 负载均衡配置

Ubuntu:7.10
Tomcat:6.0.16
apache:2.2
JK       :1.2.26
 
Tomcat的负载均衡已经不是什么新鲜话题了.
主要的问题是Ubuntu下的Apache2.2,JK的安装文件结构略有不同,导致一般基于Linux的JK安装教程不是完全通用.
 
文件安装
Ubuntu就是这么得轻松暇意
sudo apt-get install apache2 libapache2-mod-jk
 
文件结构
libapache2-mod-jk的配置文件在/etc/libapache2-mod-jk/work.properties
apache2的配置文件都在/etc/apache2下.
和一般的配置不同的是/etc/apache2/httpd.conf是空的.
ubuntu下的配置文件是通过/etc/apache2/apache2.conf以及两个文件夹mods-enabled,sites-enabled来实现的
apache2.conf默认如下配置:
 
Include /etc/apache2/conf.d/
Include /etc/apache2/sites-enabled/
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
 
Tomcat的配置
修改{CATALINA_HOME}/conf/server.xml,增加红色部分内容.注意"worker1"需要和apache2中的worker.properties标示一致.
<Engine name="Standalone" defaultHost="localhost" jvmRoute="worker1"
 
Apache2的配置
安装libapache2-mod-jk的时候已经自动添加了/etc/apache2/mods-enabled/jk.load,包含了Load Module的部分配置.
然后在apache2.conf中增加如下配置(按照我的猜测,更加标准的做法是在/etc/apache2/mods-enabled/下创建jk.conf进行配置)
JkWorkerFile /etc/libapache2-mod-jk/worker.properties
JkMount /*.jsp router
JkMount /*/servlet router
JkMount /jkmanager/* jkstatus #用于监测Load Balancer状态
 
然后修改/etc/libapache2-mod-jk/worker.properties

worker.list=router 
worker.worker1.type=ajp13 
worker.worker1.host=localhost 
worker.worker1.port=8009 
worker.worker1.lbfactor=1  
 
worker.worker2.type=ajp13 
worker.worker2.host=localhost 
worker.worker2.port=8010 
worker.worker2.lbfactor=1  
 
worker.router.type=lb 
worker.router.balance_workers=worker1,worker2 

 
#用于监测Load Balancer状态
worker.list=jkstatus 
worker.jkstatus.type=status
 
运行
启动Tomcat
sudo {CATALINA_HOME}/bin/catalina.sh start
启动Apache
sudo /etc/init.d/apache2 restart
 
另外关键的是JK1.2默认的是Session Sticky,如果需要修改清参考reference.



Tags: cluster, Java, tomcat, Ubuntu
  • http://blog.163.com/focushen007 focushen007

    JkWorkerFile应该是JkWorkersFile

    [Reply]

无觅相关文章插件,快速提升流量