Apache+Tomcat_搭建均衡负载_Window7

接下来开始搭建配置均衡负载: 1 个apache + 2个tomcat (一台电脑上)

 

第一步:确定环境和软件版本

 

我的环境和软件版本如下:

windows7 x64 

jdk-7windows-x64.zip

apache_2.2.11-win32-x86-no_ssl.rar

apache-tomcat-7.0.26-windows-x86.zip

 

系统64位和JDK64位,是可以兼容 32位的 apache、tomcat, 可以去网上搜索你要求的版本下载,也可直接使用和我一样的版本,

Baidu Cloudy Url:http://pan.baidu.com/s/1skmPAwP

这是我本机上的安装目录,如图参照:

 

 

第二步:安装配置Java

 

通常就直接默认安装,并且配置环境变量,验证即可:

JAVA_HOME:G:\Program Files\Java\jdk1.7.0_15;

CLASSPATH:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;

Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

确定保存,再打开cmd验证,下面3个命令试着执行下,有结果回显应该就配的很perfect啦!

cmd>java --version

cmd>java

cmd>javac

 

 

第三部:安装配置Apache

 

apache很好安装啦,按照默认的目录或者你喜欢的目录,装完它,最主要的就是配置文件了 ,任何文件配置之前都最好备份一个,

打开conf/httpd.conf ,做一个基本修改,我的监听和访问地址全都改成了本地IP,端口用的是8080,

启动Apache服务,访问地址看是否正常,ok了下一步。

 

第四部:安装配置Tomcat

 

大多数 tomcat 是免安装版,解压放到任意目录下即可(我的是放到了和Apache的同级目录)

 

4.1 配置Tomcat服务

打开文件 tomcat/bin/startup.bat ,脚本开头添加2行如下2行:

SET JAVA_HOME=G:\Program Files\Java\jdk1.7.0_15 (目的是告诉脚本,JDK安装目录)

SET CATALINA_HOME= G:\Program Files\Apache Software Foundation\Tomcat7026A (目的是告诉脚本,解压后Tomcat 的目录)

 

打开文件 tomcat/bin/service.bat ,找到 rem Set default Service name 字样,在下面添加

SET CATALINA_HOME=G:\Program Files\Apache Software Foundation\Tomcat7026A (解压后Tomcat 的目录)
set SERVICE_NAME=Tomcat706A  (服务名称)
set PR_DISPLAYNAME=Apache Tomcat706A  (服务显示名称)
set PR_DESCRIPTION=均衡负载之第1号 Tomcat 服务,Tomcat706A (服务描述,可有无)

 

开始注册服务,打开cmd,cd 到你的tomcat/bin 目录,输入:service.bat install,提示成功则ok,

在这个cmd下输入:startup.bat 可以用于启动服务,它的特点就是有日志窗口,可以查看程序日志,在后面的验证会体现出来;

也可以通过打开window 服务管理器(开始,运行,services.msc),找到服务名(我的是Tomcat706A),启动它,特点是没有日志窗口;

 

接下来应该去配置tomcat的端口号啦,我的第二个Tomcat 取名叫 Tomcat706B,配置上也就路径、名字、端口号不一样,其他都一样。

 

4.2 配置Tomcat端口

第一个tomcat706A 端口配置:

<Server port="8071" shutdown="SHUTDOWN">

<Connector port="8061" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

<Connector port="8051" protocol="AJP/1.3" redirectPort="8443" />

 

第二个tomcat706B 端口配置:

<Server port="8072" shutdown="SHUTDOWN">

<Connector port="8062" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

<Connector port="8052" protocol="AJP/1.3" redirectPort="8443" />

 

启动这2个服务,验证修改端口后是否正常启动,正常则ok;

 

第五步:配置负载

5.1 新建配置文件

新建3个文件,如下文+下图(不确定你新建文件的编码格式,最好可以通过复制3份httpd.conf,把里面内容清掉,再命名成所需新建的文件名)

apache/conf/extra mod_jdk.conf 

apache/conf/workers.properties

apache/conf/uiworkermap.properties

还有一点,把下载的 mod_jk-1.2.26-httpd-2.2.4.so 拷贝到 apache/modules 目录下,这个是 apache与tomcat 的连接器,简称jk;

 

 

5.2 配置mod_jk.conf

打开文件 mod_jk.conf 添加如下内容(#号行是配置文件的注释,要不要都不影响):

 

######################

#加载模块,这个 apache与tomcat 的连接器
LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so

#加载配置文件,这个可以叫做 集群配置文件
JkWorkersFile conf/workers.properties

#加载配置文件,这个可以叫做 请求处理分配文件
JkMountFile conf/uiworkermap.properties

#请求处理, jsp请求交给 controller 处理,controller在 workers.properties中有定义
JkMount /*.jsp controller

#同上
JkMount /*.do controller

#同上
JkMount /* controller

#################

 

5.3 配置 workers.properties

打开文件workers.properties 添加如下内容:

 

# worker 列表
worker.list=controller,jkstatus

###### 第一个worker的配置,名为worker_1
#tomcat 的主机地址,如不为本机,请填写ip地址
worker.worker_1.host=localhost

#ajp13 端口号,对应tomcat配置文件server.xml中Connector port="8009",默认8009
worker.worker_1.port=8051
worker.worker_1.type=ajp13

# 负载的权重值,越高表示负载越大
worker.worker_1.lbfactor=1

###### 第二个worker的配置,名为worker_2
worker.worker_2.host=localhost

#ajp13 端口号,对应tomcat配置文件server.xml中Connector port="9009"
worker.worker_2.port=8052
worker.worker_2.type=ajp13
worker.worker_2.lbfactor=1

#controller, 用于负载均衡分发的控制器
worker.controller.type=lb

# 重试次数
worker.controller.retries=3

# 指定负载的worker列表,用逗号分隔
worker.controller.balance_workers=worker_1,worker_2

# 配置session会话是否为粘性
# 这样负载均衡器lb就会尽量保持一个session,也就是使用户在一次会话中跟同一个Tomcat进行交互
worker.controller.sticky_session=true

# 如果sticky_session设为true时,此处一般设为false
worker.controller.sticky_session_force=false

# 设置运行状态的控制器
worker.jkstatus.type=status

 

5.4 配置uiworkermap.properties

打开文件 uiworkermap.properties,添加如下内容:

 

# 所有请求都由LB_worker 这个worker处理
/*=controller

# 所有包含jkstatus请求的都由名称叫jkstatus的这个worker处理
/jkstatus=jkstatus

 

第六步:验证

 6.1 新建测试文件

分别在两个tomcat/webapps 下新建test目录和hello.jsp文件(tomcat/webapps/test/hello.jsp)

第一个tomcat706A内容为:

<%

System.out.println("tomcat706A===========11");

%>

 

第二个tomcat706B内容为:

<%

System.out.println("tomcat706B===========22");

%>

 

6.2 访问验证

重启apache服务,也重启tomcat服务,通过startup.bat方式启动,因为需要观看日志窗口,

使用2个浏览器,例如火狐、IE,都访问:10.10.15.15:8080/test/hello.jsp,你会发现2个tomcat的日志窗口有内容了,

刷新任意浏览器,这日志就会新增你测试文件hello.jsp中的内容,

 

到这里,就已经初步完成了配置轮廓,之后抽时间写附加内容篇,谢谢!

posted @ 2016-01-21 10:28  Tangsen2015  阅读(301)  评论(0编辑  收藏  举报