安装好apache后,修改conf/httpd.conf文件,在最后添加如下配置:
LoadModule jk_module modules\mod_jk-1.2.31-httpd-2.2.3.so
#此处mod_jk的文件为你下载的文件,
#下载地址:http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.31/
JkWorkersFile "D:\Tomcat5.0\conf\workers.properties"
#指定tomcat监听配置文件地址
JkLogFile "D:\Tomcat5.0\logs\mod_jk2.log"
#指定日志存放位置
JkLogLevel info
JkMount /servlet/* ajp13
#让Apache支持对servlet传送,用以Tomcat解析
JkMount /*.jsp ajp13
#让Apache支持对jsp传送,用以Tomcat解析
JkMount /*.do ajp13
#让Apache支持对.do传送,用以Tomcat解析
JkMount /*.htm ajp13
说明:
1.apache默认的端口为80,可通过修改该文件的如下行更改端口号(修改为81):
Listen 81
2.apache默认的会为应用添加访问日志,默认配置如下:
CustomLog "logs/access.log" common
打印log格式如下:
127.0.0.1 - - [15/Jun/2011:11:36:34 +0800] "GET /jetty/jsp/login.jsp HTTP/1.1" 200 583
访问机器IP 访问时间 请求类型 访问路径 协议 状态代码 返回客户端字节数
下载mod_jk-1.2.31-httpd-2.2.3.so,将该文件放在apache的modules文件夹下。
安装好tomcat,在conf下创建文件workers.properties,内容如下:
workers.tomcat_home=D:\Tomcat5.0
workers.java_home=D:\Program Files\Java\jdk1.6.0_14
ps= 我爱windows 赫赫
worker.list=ajp13 #模块版本
worker.ajp13.port=8009 #tomcat设置的ajp端口
worker.ajp13.host=localhost #Apache主机
worker.ajp13.type=ajp13 #类型
worker.ajp13.lbfactor=1 #代理数,不用修改
环境说明
Apache :apache_2.2.4-win32-x86-no_ssl.msi 1 个
Tomcat: jakarta-tomcat-5.0.28.zip 2个
mod_jk: mod_jk-apache-2.2.4.so 1个
第一部分:负载均衡
负载均衡,就是apache将客户请求均衡的分给tomcat1,tomcat2....去处理
1.下载apche,tomcat,mod_jk。具体下载方法我就不说了,不知道在哪里下载的给我发Email:[email protected]
2.首先安装apache_2.2.4-win32-x86-no_ssl.msi
安装后启动Apache服务器,如果出现The requested operation has failed!那么说明你的80端口已经被占用了
更改一下Apache目下的\conf\的httpd.conf文件,大概在53行左右,有个 Listen 80 ,把这个端口改成其他端口号就可以了。
在httpd.conf文件的末尾,加上一句
include "C:\Program Files\Apache Software Foundation\Apache2.2\conf\mod_jk.conf"
在httpd.conf文件同级目录里面添加两个文件
分别是mod_jk.conf和workers.properties,文件内容如下
mod_jk.conf 的文件内容 |
#加载mod_jk Module #指定 workers.properties文件路径 #指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器 |
workers.properties 的文件内容 |
worker.list = controller,tomcat1,tomcat2 #server 列表 #========tomcat1========
|
复制mod_jk-apache-2.2.4.so文件到C:\Program Files\Apache Software Foundation\Apache2.2\modules这个目录下
下面配置Tomcat 部分,第一个Tomcat部分就不用配置了,直接配置第二个Tomcat的Server.xml(如果两个Tomcat在两台机器上就都不需要配置)
Tomcat1里面加上jvmRoute="tomcat1"
Tomcat2里面加上jvmRoute="tomcat2"
第二部分,配置集群
只配置负载均衡还不行,还要session复制,也就是说其中任何一个tomcat的添加的session,是要同步复制到其它tomcat, 集群内的tomcat都有相同的session
1. 修改tomcat1, tomcat2的server.xml,将集群部分配置的在注释符删掉,并将tomcat2的4001端口改为4002,以避免与tomcat冲突,当然,如果是两台电脑,是不用改端口的,去掉注释符即可
然后分别启动Apache、Tomcat1、Tomcat2吧