本篇博客贴出负载均衡实现的操作流程,同时,我将详细版的资源放到了“我的资源里”,内部包含了长达15页的细致的图文操作说明,版本号对应的安装包,静态的配置件,
写好的测试页面,只要5C币,5C币你买不了吃亏,买不了上当...下面是下载链接:Apache反向代理实现负载均衡资源下载 如果链接不能打开,请点击头像进入个人中心下
载
一、环境概述及准备
本操作流程针对的操作系统为Windows 10,Windows 7下也可按照此文档进行操作,使用的技术为Apache的反向代理,容器为Tomcat,连接设备为mod_jk,使用的负载均
衡策略为“加权轮询法”。
下面介绍一下几个关键词:
Apache反向代理技术:
apache代理分为正向代理和反向代理,首先来介绍何为反向代理。
A) 反向代理:
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求
连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。Apache服务器充当的就是代理服务器的角色。值得一提的是,在外界看来,Apache代理服务器就是真正的服
务器。
下图为简单的反向代理过程:
(图片引用自:https://www.cnblogs.com/skyfeng/articles/6628903.html)
B) 正向代理
客户端无法直接访问外部的web,需要在客户端所在的网络内架设一台代理服务器,客户端通过代理服务器访问外部的web(需要在客户端的浏览器中设置代理服务器)。
mod_jk:
Apache作为一款强大的Web服务器,本身缺乏处理JSP/Servlet的功能,为了能够处理对JSP/Servlet的请求,必须使用JSP/Servlet容器,如Tomcat等。mod_jk实质上是Apache
与Tomcat的连接器,并藉此附带提供集群和负载均衡的功能。
JK 分为两个版本 1.x和2.x,其中2.x并不是最新的版本,它是JK的另外一个分支,后来没有继续开发,2.x版本已经废弃,通常不使用2.x的版本。
加权轮询法
由于每台服务器的配置、安装的业务应用等不同,其处理能力会不一样。所以,加权轮询算法的原理就是:根据服务器的不同处理能力,给每个服务器分配不同的权值,使
其能够接受相应权值数的服务请求。除去加权轮询法,常用的负载均衡策略还有:
轮询法、随机法、加权随机法、IPHash方法。
采用加权轮询法是因为加权轮询法能够很好地考虑到服务器的处理能力。
软件详情概述:
Apache服务器版本选择Windows 32位的2.2.25无SSL版本;
Tomcat容器选用7.0.x版本;
连接器mod_jk选用Windows 32位的2.2.x版本。
版本号需要彼此对应,不能随意更改,否则在具体的实现过程中可能会出现版本不兼容的各种意外情况。
二、具体的安装过程
1、Apache服务器的安装与卸载
安装:
A) 解压文件,可看到文件 ,双击打开,开始安装
B) 点击下一步
C) 选择接受,点击下一步
D) 点击下一步
E) 填写对应的内容,建议按照图中填写
F) 选择经典版,点击下一步
G) 选择安装位置,建议不要选择在系统盘
H) 点击安装,等待安装完成
I) 安装完成
安装完成后,先不要运行,因为大部分的电脑80端口可能都被占用了,需要我们在配置文件里再次修改。
卸载:
在实际操作中,可能不能一蹴而就。这时可能会需要卸载软件重新安装。卸载Apache必须要使用Windows默认的卸载软件,并且在卸载后,要将原有的残留文件直接删除。
2、Tomcat容器安装
因为需要测试负载均衡是否成功实现,所以要配置多个Tomcat来进行映射。这里以同一台电脑为例,不同电脑使用IP进行连接。
A) 具体的Tomcat配置相信对于研发人员来说十分简单,这里主要说明第二个Tomcat相对于正常的Tomcat配置需要修改的地方;
B) 以Tomcat2命名新的文件夹,存放Tomcat的解压文件,配置环境变量。由于已经存在了Tomcat环境变量,这里在命名上需要加以区分,如CATALINA_HOME2,环境变量的值为
Tomcat所在路径。Path里添加%CATALINA_HOME2%\bin变量;
C) 同样的,我们需要将Tomcat2里bin目录里的下列文件中所有的CATALINA_HOME修改为CATALINA_HOME2
D) 为了避免端口冲突,我们需要修改端口设置,即server.xml文件,需要理解的是,这里的端口指的是AJP/1.3的端口,具体修改如下:
将tomcat与Apache链接起来使用的端口为AJP/1.3的8010端口,至于第一个默认的Tomcat端口可修改,也可不修改,我是将其修改为8009。
E) 分别启动Tomcat,访问默认页面,如出现小老虎,则说明Tomcat配置完成。
3、配置Apache服务器
A) 解压 ,打开解压文件
B) 将图中标记文件复制到下列文件夹中
C) 打开conf文件夹,打开 文件,修改如下数据
此端口不必强制为8089,可任意选择,只要不冲突就行
添加serverName,命名规则为IP+端口号
在文件最末尾添加,规则为 文件的位置
D) 创建mod_jk.conf文件,添加如下内容
E) 创建workers.properties文件,内容如下
需要十分注意的是,这里的port指的是APJ/1.3的端口,与我们通常Tomcat访问的端口不一样。
Lbfactor指的是服务器权重分配,如Tomcat1的权重为2,那么每次访问时,前两个请求会被映射到Tomcat1。
F) 创建uriworkermap.properties文件,内容如下
G) 修改相应的Tomcat里server.xml文件内容
图中标出的是与上文的配置文件中Tomcat1 Tomcat2相对应,对应不上会导致请求无法映射。
2、编写测试页面
文件命名为test.jsp,存放到两个Tomcat下webapp里的root文件夹里,然后访问。具体内容如下:
(此测试页面来自于:http://blog.csdn.net/hzw2312/article/details/46455981)
OK,万事俱备,这时候我们可以启动Apache服务器,注意:正常的Apache图标为绿色,如果是红色,就说明在操作的过程中出现了问题。
打开网页,访问localhost:8089/test.jsp,不断的刷新页面,可以看到页面显示的Tomcat一直在1和2之间改变。