tomcat的负载均衡配置
时间:2005-01-22 来源:fz-L
当您选择自由软件像linux、apache、tomcat 等进行应用开发时。其相关配置是令许多程序员头疼的事情,往往由于文档不全,版本不同造成不必要的时间浪费。现在我把Apache2.x+Tomcat4.x集成与负载均衡配置过程、经验与大家分享.。 一、测试环境: A、Linux 测试操作系统: Red Linux 7.2 JDK Download j2sdk-1_4_1_02-linux-i586.bin . Apache Unix Source: httpd-2.0.45.tar.gz [PGP] [MD5] Tomcat Tomcat 4.1.24 Mod_jk.so jakarta-tomcat-connectors-jk-1.2.3-src.tar.gz 附加开发工具包:(用来生成mod_jk.so) AutoConf-2.53 AutoMake-1.6.3 Libtool-1.4.2 到相应的网站下到这些开发包(否则不能生成mod_jk.so): 它们安装类同分别执行以下三部: 如果是tar 格式,先解到 /tmp下 用root用户进到相应的目录做以下操作 ./configure ./make ./make install B、Win2000 测试操作系统: Win2000 Advance Server JDK Download j2sdk-1_4_1_02-windows-i586.exe Apache apache_2.0.45-win32-x86-no_ssl.exe Tomcat Tomcat 4.1.24 Mod_jk.dll mod_jk_2.0.45.dll 二、JDK安装: A、 Linux: 1、 cp /tmp 2、 ./*-linux-i586.bin B、Win2000 点击运行*.exe即可 三、Apache 安装、设置: A、 Linux 1、 建立httpd 用户,cp 相应的源代码到 /tmp) 2、 解包(gzip –d httpd-2.0.45.tar.gz tar xvf httpd-.2.0.45.tar) 3、 cd /home/httpd/ 4、 su 5、 ./configure –prefix=/home/httpd --libexecdir=/home/httpd/lib --enable-module=most –enable-mods-shared=most --enable-module=so 6、 make 7、 make install B、Win2000 运行setup.exe C、设置 1、 打开 conf/httpd.conf文件 修改 Listen 80 #80改为其它未用port 8003 修改以下一行 ServerName localhost 2、 测试 apachectl configtest 如果显示 Syntax ok 表示成功 四、Tomcat 安装设置 A、 Linux: 1、 建立tomcat 用户 2、 tar 开包 B、 Win2000 解开包即可 C、 设置 JAVA_HOME=/usr/local/jdk #改成jdk实际path CATALINA_HOME=/home/tomcat D、运行、停止 运行:startup.sh /startup.bat 停止:shutdown.sh/shutdown.bat 五、生成mod_jk A、 Linux 在apache站点没有发现mod_jk.so的二进制动态库,所以要手工生成,有点 麻烦,以下是生成mod_jk.so的steps 1、 确定libtool,autoconf,automake 正确安装 2、 cp jakarta-tomcat-connectors-jk-1.2.3-src.tar.gz /tmp 3、 解包 4、 cd jk/native 5、 ./buildconf.sh 6、 ./configure –with-apx=/httpd安装目录/bin/apx –with-java-home=${JAVA_HOME} 7、 make 8、 make install 9、 在apache-2.0目录中生成mod_jk.so 恭喜你成功产生了它,如果没有话确让以上几个steps B、 Win2000 六、整合: A、 Linux : 1、 打开/usr/httpd/conf/httpd.conf 增加以下行: LoadModule jk_module lib/mod_jk.so JkWorkersFile conf/workers.properties JkLogFile logs/mod_jk.log JkLogLevel info B、 Win2000: 1、 打开httpd.conf 增加以下行: LoadModule jk_module lib/mod_jk.dll JkWorkersFile conf/workers.properties JkLogFile logs/mod_jk.log JkLogLevel info C、设置: 增加文件 workers.properties # # workers.properties ps=/ # list the workers by name worker.list=tomcat1, tomcat2, loadbalancer # ------------------------ # First tomcat server # ------------------------ worker.tomcat1.port=11009 worker.tomcat1.host=localhost worker.tomcat1.type=ajp13 worker.tomcat1.lbfactor=100 # Second tomcat server # ------------------------ worker.tomcat2.port=12009 worker.tomcat2.host=localhost worker.tomcat2.type=ajp13 worker.tomcat2.lbfactor=100 worker.loadbalancer.type=lb worker.loadbalancer.balanced_workers=tomcat1, tomcat2 注意此文件编辑有错的话,apache与tomcat连接会失败 最好是粘贴以上行到一个新的worker.properties中, 找到 {TOMCAT_HOME}/conf目录 打开server.xml 1. 在100 行附近将 2. 在75 行 改变ajp13 connecter port 为11009 3. 注释掉8080端口 如果你要做到负载均衡, 增加另一个 tomcat 应用服务器(可以在不同的机器上) 端口,IP改为与workers.properties 相同即可 七、测试: A、整合测试: 运行httpd apachectl start 运行 tomcat startup.sh 在IE中输入: http://1ocalhost:8003/index.jsp 如果看到了一只lovely cat ! Congratulation, It’s ok! 注意8003改成实际的httpd 的端口 B、负载均衡测试: 新建两个index.jsp Tomcat1: <html> <body bgcolor="red">