网络安全01--负载均衡

目录

一、环境准备

1.1三台虚拟机

二、开始搭建负载均衡:

2.1准备一下源

2.2正式安装

2.3Nginx安装情况

三、修改配置文件,反向代理达到负载均衡效果 

3.1在 http 部分添加如下负载均衡配置:

3.2简单解释一下server端:

四、最终实现结果:

4.1第一次访问:

4.2刷新:


一、环境准备

1.1三台虚拟机

这里我用的centos,但其实其他的也一样,道理就是这个理

网络安全01--负载均衡_第1张图片

二、开始搭建负载均衡:

2.1准备一下源

为了我们后面下载的快我们首先进行换源操作:

网络安全01--负载均衡_第2张图片

网络安全01--负载均衡_第3张图片 

cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.backup  #备份采取自愿
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
    -e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos|g' \
    -i.bak \
    /etc/yum.repos.d/CentOS-*.repo

 ​​​​​ 刚换完源,清除缓存再生成新的缓存:

sudo yum makecache

到这一步证明你前面的没任何问题:

网络安全01--负载均衡_第4张图片

2.2正式安装

参考我之前文章,无脑操作

http://t.csdnimg.cn/1r47E 

最后有可能访问不到,把自己的防火墙和setenforce关掉即可

systemctl status firewalld  #查看状态
systemctl stop firewalld  #关闭防火墙
systemctl disable firewalld.service #我嫌它烦,直接开机自启给关掉了,你们自己看自己情况
setenforce 0

2.3Nginx安装情况

其他两个机子同理

网络安全01--负载均衡_第5张图片

网络安全01--负载均衡_第6张图片 

至此三台Nginx环境配置完毕

三、修改配置文件,反向代理达到负载均衡效果 

3.1在 http 部分添加如下负载均衡配置:

我使用了 upstream 模块定义了三台后端服务器。然后,在 location / 中使用 proxy_pass 将请求转发到后端服务器,实现的负载均衡

网络安全01--负载均衡_第7张图片

3.2简单解释一下server端:

  1. proxy_set_header Host $host;

    这个指令将请求的 Host 头的值设置为后端服务器接收到的请求头。$host 是一个 Nginx 内置变量,表示客户端请求中的 Host 头的值。
  2. proxy_set_header X-Real-IP $remote_addr;

    这个指令将客户端的真实 IP 地址设置为后端服务器接收到的请求头。$remote_addr 是一个 Nginx 内置变量,表示客户端的 IP 地址。
  3. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    这个指令将包含原始客户端 IP 地址的 X-Forwarded-For 头设置为后端服务器接收到的请求头。$proxy_add_x_forwarded_for 是一个 Nginx 内置变量,表示原始的 X-Forwarded-For 头的值,如果这个头不存在,则添加客户端的真实 IP 地址。
  4. proxy_set_header X-Forwarded-Proto $scheme;

    这个指令将客户端请求使用的协议(HTTP 或 HTTPS)设置为后端服务器接收到的请求头。$scheme 是一个 Nginx 内置变量,表示请求的协议。

当然你可以给内容增加心跳反应,我只是做了简单的测试,方法是大同小异的,nginx也是有很多算法,这里有篇文章写的还不错Nginx的五种算法_nginx算法有哪些-CSDN博客,可以去了解一下

网络安全01--负载均衡_第8张图片

四、最终实现结果:

修改nginx下html中默认访问的内容,我头方便呢,但是原理就是如此,我们此篇文章只研究负载均衡

4.1第一次访问:

网络安全01--负载均衡_第9张图片

4.2刷新:

网络安全01--负载均衡_第10张图片 

你可能感兴趣的:(网络安全,负载均衡,运维)