http://hi.baidu.com/coolcat_police/blog/item/388bfc9b2faf00b3c8eaf43e.html
配置环境:Apache2.2.4,Tomcat6.0.18,mod_jk-1.2.26-httpd-2.2.4.so,jdk1.6
使用两台服务器,一台服务器安装Apache和Tomcat1,另一台服务器(192.168.2.153)安装Tomcat2
注意,这两台服务器必须可以互相ping通,而且必须要在统一个工作组或者同一个域。否则Apache将会连不到Tomcat。
安装好JDK和Tomcat,知道可以看到猫为止。
安装Apache,直接点击下一步就可以了。
我用jk作为connector,它是最稳定的,jk也分为1和2两个版本。2版本语法比较繁琐,而且2版本已经停止开发了,所以还是使用1吧。
配置步骤:
1. 先将mod_jk-1.2.26-httpd-2.2.4.so改一下名,改成mod_jk.so。这样做可以方便之后配置,不改也可以。
2. 在apache/conf下找到httpd.conf,添加include:
include “c:"Apache"conf"mod_jk.conf”
3. 在conf目录下创建mod_jk.conf往里面添加:
#加载so文件,注意是jk_module不是jk2_module,因为我们用的是1版本
LoadModulejk_modulemodules/mod_jk.so
#指定 workers.properties文件路径(指定分流tomcat的工作属性)
JkWorkersFileconf/workers.properties
#uri文件不可以漏,里面配置uri映射
JkMountFile conf/uriworkermap.properties
JkLogFile logs/mod_jk.log
JkLogLevel warn
#指定哪些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器
JkMount /*.jsp controller
注意,这里也有第二种方式配置,就是不创建mod_jk.conf文件,直接在http.conf里面添加mod_jk.conf里面的内容。
4. 在conf目录下创建workers.properties文件,添加:
worker.list=controller #list里面是有效的控制器,我们这里用的是controller
#========tomcat1========
worker.tomcat1.port=8009 #tomcat1的ajp端口
worker.tomcat1.host=localhost #tomcat1的ip地址
worker.tomcat1.type=ajp13 #使用的协议为ajp13
worker.tomcat1.lbfactor=1 #负载平衡因子,数字越大请求被分配的几率越高
#========tomcat2========
worker.tomcat2.port=8009 #tomcat2的ajp端口,如果不在同一部机器则,不需要修改
worker.tomcat2.host=192.168.2.153
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1
#========controller,负载均衡控制器========
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2
worker.controller.sticky_session=1
5. 在conf目录下创建uriworkermap.properties文件,添加:
/*=controller
还可以添加其它uri映射规则,例如:!/*.gif = controller表示gif不送到tomcat处理。不过我觉得最好不要设置,不然有可能出现一些问题,例如看不到图片。
6. 如果两个tomcat装在同一台机器上,需要修改三个端口,在tomcat找到server.xml,修改Server端口,http端口和ajp端口,避免冲突,例如:
<Server port="7005" shutdown="SHUTDOWN">
<Connector port="7080" maxHttpHeaderSize="8192"........
<Connector port="7009" protocol="AJP/1.3" redirectPort="8443"/>
ok,负载均衡配置完成。
这里需要说明的一个地方就是我没有用到虚拟目录,因为我用了之后发生了而很多问题- -!
其实不用也是可以的,就使用原来的DocumentRoot,Apache会根据workers.properties文件找到你的web application。
posted on 2008-08-31 18:16
Documents 阅读(424)
评论(0) 编辑 收藏