(转)apache+tomcat 负载均衡

1 需求:
apache-tomcat-5.5.27
jdk1.6.0_10
tomcat-connectors-1.2.27
httpd-2.2.10

2 安装:
1) 分别在三台机器上安装 tomcat,路径为/var/apps/apache-tomcat-5.5.27
2) 分别在三台机器上配置JDK,JAVA_PATH=/var/apps/jdk1.6.0_10
3) 在其中一台机器上安装apache,路径为/var/apps/httpd-2.2.10
4) 配置生成mod_jk.so
进入tomcat-connectors-1.2.27/native
执行:./configure --with-apxs=/var/apps/httpd-2.2.10/bin/apxs
make;make install

3 配置apache:
httpd.conf:
LoadModule jk_module modules/mod_jk.so    
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# 将所有servlet 和jsp请求通过ajp13的协议送给Tomcat,让Tomcat来处理
JkMount /servlet/* loadbalancer
JkMount /*.jsp loadbalancer

注:也可以把配置文件写在mod_jk.conf 文件中,然后在httpd.conf中,加入include conf/mod_jk.conf

workers.properties:
(自tomcat-connectors-1.2.27/conf中复制到httpd-2.2.10/conf中)
 workers.tomcat_home=/var/apps/apache-tomcat-5.5.27
workers.java_home=/var/apps/jdk1.6.0_10
ps=/
# The workers that your plugins should create and work with
# Add 'inprocess' if you want JNI connector
worker.list=loadbalancer ---不是tomcat服务器的Engine的名字
# , inprocess
#DEFAULT ajp12 WORKER DEFINITION
worker.ajp12.port=8009
worker.ajp12.host=192.168.0.126
# worker.worker名字.type =<worker类型>,下面的ajp13是协议类型,ajp12太是名字.
worker.ajp12.type=ajp13
# a load balancing worker.Low lbfactor means less work done by the worker
worker.ajp12.lbfactor=1
#DEFAULT ajp13 WORKER DEFINITION
worker.ajp13.port=8009
worker.ajp13.host=192.168.0.128
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
# Specify the size of the open connection pool.
#worker.ajp13.connection_pool_size
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=ajp12,ajp13
# DEFAULT JNI WORKER DEFINITION
# Defining a worker named inprocess and of type jni
# Note that the name and the type do not have to match.
worker.inprocess.type=jni
# CLASSPATH DEFINITION
# Additional class path components.
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)tomcat.jar
# Setting the command line for tomcat.
# Note: The cmd_line string may not contain spaces.
worker.inprocess.cmd_line=start
# Not needed, but can be customized.
#worker.inprocess.cmd_line=-config
#worker.inprocess.cmd_line=$(workers.tomcat_home)$(ps)conf$(ps)server.xml
#worker.inprocess.cmd_line=-home
#worker.inprocess.cmd_line=$(workers.tomcat_home)
# The JVM that we are about to use
# This is for Java2
# Windows
worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll
# IBM JDK1.3
#worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)libjvm.so
# Unix - Sun VM or blackdown
#worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)lib$(ps)i386$(ps)classic$(ps)libjvm.so
# And this is for jdk1.1.X
#worker.inprocess.jvm_lib=$(workers.java_home)$(ps)bin$(ps)javai.dll
# Setting the place for the stdout and stderr of tomcat
worker.inprocess.stdout=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stdout
worker.inprocess.stderr=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stderr
# Setting the tomcat.home Java property
#worker.inprocess.sysprops=tomcat.home=$(workers.tomcat_home)
# Java system properties
# worker.inprocess.sysprops=java.compiler=NONE
# worker.inprocess.sysprops=myprop=mypropvalue
# Additional path components.
# worker.inprocess.ld_path=d:$(ps)SQLLIB$(ps)bin
4 配置tomcat:
apache服务器的tomcat:不需要做什么修改
tomcat服务器:
ajp12:
 <Engine name="Catalina" defaultHost="localhost" jvmRoute="ajp12">
ajp13:
 <Engine name="Catalina" defaultHost="localhost" jvmRoute="ajp13">

5 启动服务:
启动tomcat,apache的服务

p.s.
出现错误:org.apache.jk.common.MsgAjp processHeader
严重: BAD packet signature 256
解决方法:workers.properties文件中,tomcat服务器的协议类型错误,应都改为ajp13,即为ajp协议V13.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值