网络安全01--负载均衡

目录

一、环境准备

1.1三台虚拟机

二、开始搭建负载均衡:

2.1准备一下源

2.2正式安装

2.3Nginx安装情况

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

[3.1在 http 部分添加如下负载均衡配置:](#3.1在 http 部分添加如下负载均衡配置:)

3.2简单解释一下server端:

四、最终实现结果:

4.1第一次访问:

4.2刷新:


一、环境准备

1.1三台虚拟机

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

二、开始搭建负载均衡:

2.1准备一下源

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

复制代码
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

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

2.2正式安装

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

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

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

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

2.3Nginx安装情况

其他两个机子同理

至此三台Nginx环境配置完毕

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

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

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

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博客,可以去了解一下

四、最终实现结果:

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

4.1第一次访问:

4.2刷新:

相关推荐
Gofarlic_oms13 分钟前
避免Kisssoft高级分析模块过度采购的科学评估方法
大数据·linux·运维·人工智能·matlab
田井中律.13 分钟前
服务器部署问题汇总(ubuntu24.04.3)
运维·服务器
大大水瓶26 分钟前
HAProxy 从入门到实战:负载均衡与流量管理全解析
运维·负载均衡
小马爱打代码29 分钟前
Docker:完全指南从入门到精通
运维·docker·容器
三天不学习1 小时前
Linux inotify 机制详解,解决“用户实例限制”问题
linux·运维·c#
地衣机房除尘1 小时前
科普漫画:机房数据中心防火小剧场
大数据·运维
ZFB00011 小时前
【麒麟桌面系统】V10-SP1 2503 系统知识——插入U盘(移动硬盘)为只读状态
linux·运维·kylin
上海云盾-小余2 小时前
即时通讯App的DDoS防御架构设计
运维·服务器·安全
qizhideyu2 小时前
LVS(Linux virual server)
linux·运维·lvs
xiaoliuliu123452 小时前
CentOS 7 安装 gcc-4.8.5-44.el7.x86_64.rpm 详细步骤(含依赖解决)
linux·运维·centos