Nginx系列篇二:linux搭建Nginx负载均衡

建议先搭建好Nginx环境

可阅读--->Linux中搭建Nginx

1、准备好三台服务器[标配]

一、nginx负载均衡服务器:192.168.102.110,配置好Nginx

Nginx系列篇二:linux搭建Nginx负载均衡

 

二、tomcat1服务器:192.168.102.111,配置好Tomcat

Nginx系列篇二:linux搭建Nginx负载均衡

 

三、tomcat2服务器:192.168.102.112,配置好Tomcat

Nginx系列篇二:linux搭建Nginx负载均衡

 

2、nginx负载均衡的几种模式:

一、轮询[默认]

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 二、weight[权重]

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

三、ip_hash

每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

四、第三方

3、修改配置文件,权重[weight]为例

打开Nginx服务器的配置文件

Nginx系列篇二:linux搭建Nginx负载均衡

 

注意:

这里的Nginx默认80端口被我改成了8888[普通用户不用使用1024以下的端口]

Nginx系列篇二:linux搭建Nginx负载均衡

 

下面我们需要在http中添加upstream节点,先采用weight模式

如下图,注意写注释

注意:

这里的192.168.102.111/112:8888 是因为我的Tomcat是普通用户,不能使用80

大家可以根据自己的情况配置,我们这里的Tomcat的端口也是8888

Nginx系列篇二:linux搭建Nginx负载均衡

 

修改下面节点server的配置

修改为:

Nginx系列篇二:linux搭建Nginx负载均衡

 

为了方便测试,咱们在两个Tomcat的项目中做一些区别,证明不是访问的同一个Tomcat

如下图:

Nginx系列篇二:linux搭建Nginx负载均衡

 

192.168.102.110是咱们的Nginx的服务器ip,不会改变的

只能在项目上做一些小区别证明请求去了不同的Tomcat,如上图

因为咱们的权重是1:1,所以在大家测试的时候会是111、112、111、112这种情况

可以自行分配权重

4、下面在是默认的轮询、ip_hash、backup、down的配置:

轮询:

Nginx系列篇二:linux搭建Nginx负载均衡

 

ip_hash:

Nginx系列篇二:linux搭建Nginx负载均衡

 

Backup:

设置节点112为backup时,一般情况下所有请求都访问111,当111挂掉或者忙的的时候才会访问112

Nginx系列篇二:linux搭建Nginx负载均衡

 

Down:

设置节点112为down时,那么这个112不参与负载均衡。

Nginx系列篇二:linux搭建Nginx负载均衡

 

负载均衡的优却点:

优点:减少服务器的压力,将原本一台服务器所要承受的访问量分给了多台

并提高项目可用性,当一台服务器挂掉的时候也不会导致整个项目瘫痪。

缺点:当单节点Nginx服务器挂了,整个项目就全部瘫痪

下一篇就是解决这个问题的,利用Nginx+keepalived做一个高可用的主从配置。

欢迎诸位同道小友一起交流学习。

原文地址:https://www.cnblogs.com/wangsongbai/p/10129407.html