一、知识点
1.负载均衡概述
在网站创立初期,我们一般都使用单台机器对外提供集中式服务。随着业务量的增大,我们一台服务器不够用,此时就会把多台机器组成一个集群对外提供服务,但是,我们网站对外提供的访问入口通常只有一个,比如 www.web.com。那么当用户在浏览器输入www.web.com进行访问的时候,如何将用户的请求分发到集群中不同的机器上呢,这就是负载均衡要做的事情。
负载均衡通常是指将请求"均匀"分摊到集群中多个服务器节点上执行,这里的均匀是指在一个比较大的统计范围内是基本均匀的,并不是完全均匀。
2.负载均衡实现方式
硬件负载均衡
比如 F5、深信服、Array 等
优点是有厂商专业的技术服务团队提供支持,性能稳定
缺点是费用昂贵,对于规模较小的网络应用成本太高
软件负载均衡
比如 Nginx、LVS、HAProxy 等
优点是免费开源,成本低廉
二、实例
1.首先向/usr/local目录下传输一个Tomcat压缩包,并对此Tomcat压缩包进行解压,分别命名为Tomcat-1,Tomcat-2两个文件。
解压
重命名
2.进入Tomcat-1的webapps目录下,在该目录下上传一个项目的war包
进入Tomcat-2的webapps目录下,在该目录下上传一个项目的war包
3.修改Tomcat的端口号
1)vim /usr/local/apache-tomcat-9.0.13-1/conf/server.xml
进入文件后
在底部输入“/8080”找到指定的端口号进行修改
2)vim /usr/local/apache-tomcat-9.0.13-2/conf/server.xml
进入文件后
在底部输入“/8080”找到指定的端口号进行修改
修改server的端口号
修改链接端口号
4.启动Tomcat-1服务器
./apache-tomcat-9.0.13-1/bin/startup.sh | tail -f ./apache-tomcat-9.0.13-1/logs/catalina.out &
Tomcat-1的端口号为
启动Tomcat-2服务器
./apache-tomcat-9.0.13-2/bin/startup.sh | tail -f ./apache-tomcat-9.0.13-2/logs/catalina.out &
Tomcat-2的端口号为
5.浏览器直接访问两台tomcat,进行测试
6.配置nginx
vim /usr/local/nginx/conf/nginx.conf
- 在http模块上加
其中weight=1表示权重,用于后端服务器性能不均的情况,访问比率约等于权重之比,权重越大访问机会越多
upstream是配置nginx与后端服务器负载均衡非常重要的一个模块,并且它还能对后端的服务器的健康状态进行检查,若后端服务器中的一台发生故障,则前端的请求不会转发到该故障的机器
- 在server模块加
其中 www.myweb.com 字符串要和 upstream 后面的字符串相等
7.启动nginx
8.浏览器直接访问nginx进行测试
我是通过xftp进入到webapps/myweb/index.jsp进行修改的
当然也可以直接进入vim webapps/myweb/index.jsp进行修改
为了看到效果,在tomcat9100的index.jsp中加一个标记
这个时候可以看到,服务器的端口为80,是nginx服务器的默认端口