Nginx实现反向代理负载均衡实验

实验环境:

VM REdhat虚拟机(192.168.87.5)一台、VM Redhat虚拟机(192.168.87.3)一台、阿里云服务器(47.93.79.92)一台

**实验要求:**通过windows浏览器访问192.168.87.5(虚拟机配置nginx)时,能够访问到192.168.87.3:80虚拟机的web服务和47.93.79.92:80(云服务器)的web服务。

一、首先确保虚拟机nginx服务开启,查看默认index.html文件是否存在

bash 复制代码
cd /usr/share/nginx/html/

二、修改虚拟机的Nginx配置文件

bash 复制代码
vim /etc/nginx/nginx.conf

修改配置文件以下几处:

其中upstream 用来配置反向代理的后端服务器,实验中有两个;

weight代表权重,可以自由更改;

max_fails=2表示最多失败两次;

fail_timeout=30s表示失败超时时间30s;

server_name 设置为你要匹配的服务器域名或者ip,当客户端发送请求时,Nginx 将会根据 server_name 来选择合适的 server 块进行处理。你可以设置多个域名,使用空格分隔开;

proxy_pass 用于配置反向代理。它用于将客户端的请求转发(代理)到指定的后端服务器,它将所有的请求代理到名为backend的upstream定义的一组后端服务器。

bash 复制代码
    upstream backend{
             server 192.168.87.3:80 weight=200 max_fails=2 fail_timeout=30s;
             server 47.93.79.92:80 weight=100 max_fails=2 fail_timeout=30s;
                }

    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  192.168.87.5;
        root         /usr/share/nginx/html/;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
            proxy_pass http://backend;
        }

        error_page 404 /404.html;
            location = /40x.html {
            }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
}

保存并退出

三、我们尝试在windows上进行访问http://192.168.87.5

访问到的是云服务器的web服务

更改权重,重启nginx服务,再次刷新页面(或清除缓存刷新)

访问到的是Redhat虚拟机的web服务

至此,配置nginx实现反向代理、负载均衡实验结束

如果我们需要配置轮询方式的负载均衡,只需要更改nginx.conf的如下配置:

bash 复制代码
    upstream backend{
        server 47.93.79.92:80;
        server 192.168.87.3:80;
          }

页面表现就是每刷新一次,就会跳转到另一台后端。

注意:如果你的电脑资源不够,可以用两台虚拟机或者一台虚拟机和一台云服务器访问,如果你要在两台虚拟机之间实现,请确保开启负载均衡的虚拟机的web服务端口不是80,或者更改你的listen端口,否则会形成回路,导致无论如何也访问不了开启负载均衡的那台虚拟机的web。

相关推荐
China_Yanhy3 小时前
入职 Web3 运维日记 · 第 8 日:黑暗森林 —— 对抗 MEV 机器人的“三明治攻击”
运维·机器人·web3
艾莉丝努力练剑3 小时前
hixl vs NCCL:昇腾生态通信库的独特优势分析
运维·c++·人工智能·cann
酉鬼女又兒3 小时前
每天一个Linux命令_printf
linux·运维·服务器
翼龙云_cloud3 小时前
国际云代理商:2026年国际云注册风控升级实战指南 8 大平台无卡解决方案对比
服务器·阿里云·云计算
虾说羊3 小时前
docker容器化部署项目流程
运维·docker·容器
Trouvaille ~3 小时前
TCP Socket编程实战(三):线程池优化与TCP编程最佳实践
linux·运维·服务器·网络·c++·网络协议·tcp/ip
大大大反派3 小时前
CANN 生态中的自动化部署引擎:深入 `mindx-sdk` 项目构建端到端 AI 应用
运维·人工智能·自动化
WHD3064 小时前
苏州勒索病毒加密 服务器数据解密恢复
运维·服务器
蜡笔小炘4 小时前
LVS -- 持久链接(Persistent Connection)实现会话粘滞
运维·服务器
JoySSLLian5 小时前
手把手教你安装免费SSL证书(附宝塔/Nginx/Apache配置教程)
网络·人工智能·网络协议·tcp/ip·nginx·apache·ssl