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

Nginx反向代理**-**负载均衡

nginx 是什么?
Nginx 是一个 高性能的 HTTP 和反向代理 web 服务器 ,同时也提供了 IMAP/POP3/SMTP 服务。因它的稳定 性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名!能够支持高达 50,000 个并发连接数 的响应。
Nginx 是一款 轻量级的 Web 服务器 / 反向代理服务器及电子邮件( IMAP/POP3 )代理服务器 ,在 BSDlike 协议下发行。其特点是占有内存少,并发能力强,事实上 nginx 的并发能力在同类型的网页服务器中表现较好。
ng 的作用

反向代理

正向代理: 正向代理就是在客户端配置代理服务器,通过代理服务器去进行互联网操作。例如 : 使用 VPN上网。
反向代理: 客户端发送请求到 反向代理 服务器,由反向代理服务器去选择目标服务器获取它的数据,在返回给客户端。此时反向代理服务器和目标服务器对外就是一台服务器,暴露的是代理服务器地址,隐藏了真实的服务器地址。 当代理为服务端服务时,该代理就是反向代理。

反向代理的作用**:**

1 、保证各种服务在内网的安全,防止 web 攻击,大型网站,通常将反向代理服务器作为公网访问
地址,各种服务则处于内网之中。
2 、负载均衡,反向代理服务器选择合适的服务进行请求,实现流量的负载均衡。
3 、限流,当流量实在过大时,机器无法负载的情况下,反向代理服务器可以限制一部分流量请
求服务(让请求失败)。
4 、数据预处理,处理请求的数据,让服务端能够识别,以及在服务端的响应数据中添加或者删
除一些数据等。
负载均衡 在多个服务器的情况下,我们将请求发放到各个服务器上,将原先请求集中到单个服务器的情况改为将请求发送到多个服务器上,将负载分发到不同的服务器,也就是负载均衡。( 可以给性能高的服务器多 发一些请求、性能低的少发一些请求)

实验准备:

windows电脑一台、VM Redhat虚拟机一台、阿里云服务器一台

实验要求:通过windows浏览器访问虚拟机时,能够访问到虚拟机的web服务和4云服务器的web服务。

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

使用命令cd /usr/share/nginx/html/

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

使用命令vim /etc/nginx/nginx.conf

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

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

weight代表权重,可以自由更改;max_fails=2表示最多失败两次;fail_timeout=30s表示失败超时时间30s;

保存以下命令并退出

upstream backend{

server 192.168.89.2:80 weight=200 max_fails=2 fail_timeout=30s;

server 47.93.79.91:80 weight=100 max_fails=2 fail_timeout=30s;

}

server {

listen 80 default_server;

listen :::80 default_server;

server_name 192.168.89.2;

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 {

root /usr/share/nginx/html;

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root /usr/share/nginx/html;

}

三、尝试在windows上进行访问http://192.168.89.2

更改权重,重启nginx服务,再次刷新页面

这是虚拟机的web服务

相关推荐
码农小白AI15 分钟前
AI报告审核加速融入自动化实验室:IACheck破解智能设备时代报告管理新挑战
运维·人工智能·自动化
utf8mb4安全女神16 分钟前
克隆的虚拟机怎么更改ip地址
运维
万能的知了2 小时前
服务器托管 vs 云主机 vs 裸金属:一个决策故事
运维·服务器·云计算
杨云龙UP2 小时前
Oracle RAC / ODA 生产环境指定 PDB 启动 SOP
linux·运维·数据库·oracle
luweis2 小时前
企智孪生 ETA(3.3 认知算法层:ETA 的思维内核 3.4 基础架构:算力与弹性)【浙江联保网络 卢伟舜】
大数据·运维·线性代数·ai·矩阵·学习方法
极客老王说Agent3 小时前
屏幕理解能力是下一代自动化的关键吗?2026年自动化范式演进深度解析
运维·人工智能·ai·chatgpt·自动化
LT10157974443 小时前
2026年电商RPA选型指南:电商运营全流程自动化测评
运维·自动化·rpa
JAVA社区4 小时前
Java高级全套教程(十一)—— Kubernetes 超详细企业级实战详解
java·运维·微服务·容器·面试·kubernetes
lihao lihao5 小时前
linux匿名管道
linux·运维·服务器
STDD5 小时前
Farming Simulator 25(模拟农场 25) Linux 专服搭建完全指南
linux·运维·javascript