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服务

相关推荐
虎头金猫2 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
还是大剑师兰特2 天前
解决nginx错误:http://localhost:7000正常,http://localhost:7000/map 报错404
nginx·大剑师
AI职业加油站2 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
此冬歌咏2 天前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
xing-xing2 天前
Docker容器中Nginx站点根目录网页配置访问
nginx·docker
-梅2 天前
linux(8) 软硬链接
linux·运维·服务器
张洛闻Eren2 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
其实防守也摸鱼2 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
布裘2 天前
【银河麒麟】V4桌面图标消失,右击鼠标没反应排查
运维·银河麒麟·桌面环境
懂软件的胡子个哥2 天前
微信机器人为什么需要“回复候选”而不是所有 AI 内容直接发送
运维·微信·自动化·wechatapi·个人微信号二次开发