建议先搭建好Nginx环境
可阅读--->Linux中搭建Nginx
1、准备好三台服务器[标配]
一、nginx负载均衡服务器:192.168.102.110,配置好Nginx
二、tomcat1服务器:192.168.102.111,配置好Tomcat
三、tomcat2服务器:192.168.102.112,配置好Tomcat
2、nginx负载均衡的几种模式:
一、轮询[默认]
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 二、weight[权重]
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
三、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
四、第三方
3、修改配置文件,权重[weight]为例
打开Nginx服务器的配置文件
注意:
这里的Nginx默认80端口被我改成了8888[普通用户不用使用1024以下的端口]
下面我们需要在http中添加upstream节点,先采用weight模式
如下图,注意写注释
注意:
这里的192.168.102.111/112:8888 是因为我的Tomcat是普通用户,不能使用80
大家可以根据自己的情况配置,我们这里的Tomcat的端口也是8888
修改下面节点server的配置
修改为:
为了方便测试,咱们在两个Tomcat的项目中做一些区别,证明不是访问的同一个Tomcat
如下图:
192.168.102.110是咱们的Nginx的服务器ip,不会改变的
只能在项目上做一些小区别证明请求去了不同的Tomcat,如上图
因为咱们的权重是1:1,所以在大家测试的时候会是111、112、111、112这种情况
可以自行分配权重
4、下面在是默认的轮询、ip_hash、backup、down的配置:
轮询:
ip_hash:
Backup:
设置节点112为backup时,一般情况下所有请求都访问111,当111挂掉或者忙的的时候才会访问112
Down:
设置节点112为down时,那么这个112不参与负载均衡。
负载均衡的优却点:
优点:减少服务器的压力,将原本一台服务器所要承受的访问量分给了多台
并提高项目可用性,当一台服务器挂掉的时候也不会导致整个项目瘫痪。
缺点:当单节点Nginx服务器挂了,整个项目就全部瘫痪
下一篇就是解决这个问题的,利用Nginx+keepalived做一个高可用的主从配置。
欢迎诸位同道小友一起交流学习。