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

相关推荐
守城小轩1 小时前
轻量级HTTP&Socks代理GOST: Linux编译安装
运维·网络·网络协议
奋斗的蛋黄3 小时前
网络卡顿运维排查方案:从客户端到服务器的全链路处理
运维·服务器·网络
wanhengidc4 小时前
云手机搬砖 尤弥尔传奇自动化操作
运维·服务器·arm开发·安全·智能手机·自动化
wow_DG5 小时前
【运维✨】云服务器公网 IP 迷雾:为什么本机看不到那个地址?
运维·服务器·tcp/ip
yuanManGan5 小时前
走进Linux的世界:初识操作系统(Operator System)
android·linux·运维
i_am_a_div_日积月累_6 小时前
jenkins打包报错
运维·rust·jenkins·jenkins打包报错
GIOTTO情6 小时前
舆情处置的自动化实践:基于Infoseek舆情系统的技术解析与落地指南
运维·自动化·linq
Thexhy6 小时前
在 CentOS 7 的 Linux 系统中配置 NFS
linux·运维·学习·centos
曹天骄6 小时前
Let’s Encrypt 证书申请与多服务器 HTTPS 配置指南
运维·服务器·https
lang201509286 小时前
如何在 Linux 中获取更多信息
linux·运维·服务器