当前位置: 首页 > news >正文

Nginx 反向代理与负载均衡

Nginx 反向代理与负载均衡

一、基本概念

1、代理概念

代理是指一个代表或渠道,涉及两个角色:

  • 被代理角色:实际的服务提供者(如某达斯厂家)
  • 目标角色:服务的消费者(如用户)
2、正向代理 vs 反向代理
正向代理
  • 特点:代理客户端,客户端明确知道要访问的目标服务器
  • 应用场景:科学上网、企业内部网络访问控制
  • 工作模式:客户端 → 正向代理 → 目标服务器
反向代理
  • 特点:代理服务器端,客户端不知道实际处理请求的服务器
  • 应用场景:服务器集群、负载均衡、高可用
  • 工作模式:客户端 → 反向代理 → 后端服务器集群

二、Nginx反向代理配置

核心模块
  • Http Proxy模块:实现反向代理功能
  • 常用指令
    • proxy_pass:指定后端服务器地址
    • proxy_cache:缓存功能(需集成第三方模块)

三、Nginx 负载均衡配置

环境配置
主机Ip安装系统
Nginx192.168.100.10NginxCentos7
Rs1192.168.100.20HttpdCentos7
Rs2192.168.100.30HttpdCentos7
  • 三台主机都关闭防火墙和 selinux,还需要配置好 yum 仓库
  • nginx 主机部署 nginx 服务
  • rs1、rs2 主机上,安装 httpd,然后添加一个测试网页
1、负载均衡之轮询
在 nginx 主机上,修改配置文件,设置负载均衡

vim /usr/local/nginx/conf/nginx.conf

upstream webserver{server 192.168.100.20;server 192.168.100.30;
}location / {proxy_pass http://webserver;
}

在这里插入图片描述

测试访问

进行刷新重复访问,负载均衡以轮询的方式将接收到的请求按照顺序逐一分配到不同的后端服务器

在这里插入图片描述

在这里插入图片描述

2、负载均衡之设置权重
在 nginx 主机上,修改配置文件,设置负载权重

vim /usr/local/nginx/conf/nginx.conf

upstream webserver{server 192.168.100.20 weight=2;server 192.168.100.30;
}location / {proxy_pass http://webserver;
}
测试访问

进行刷新重复访问,发现 rs1 访问两次后才轮询到 rs2

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3、负载均衡之 ip_hash
在 nginx 主机上,修改配置文件,设置负载权重 ip_hash

vim /usr/local/nginx/conf/nginx.conf

upstream webserver{ip_hash;server 192.168.100.20 weight=2;server 192.168.100.30;
}location / {proxy_pass http://webserver;
}
测试访问

进行刷新重复访问,发现访问全部是 rs1

nginx 记录了这个 ip 和 hash 值,那么下次同一个 ip 过来还是会分配到这个 httpd

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

四、动静分离 nginx+tomcat

环境配置
  • 添加一台 Tomcat:192.168.100.40

  • 部署测试网页

配置 nginx,设置动静分离

vim /usr/local/nginx/conf/nginx.conf

upstream webserver{server 192.168.100.20;server 192.168.100.30;
}
upstream tomcat{server 192.168.100.40:8080;
}location / {proxy_pass http://webserver;
}
location /test {proxy_pass http://tomcat;
}

在这里插入图片描述

测试访问

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

http://www.dtcms.com/a/457072.html

相关文章:

  • 学校网站建设是什么低价网站建设公司
  • 【HarmonyOS】窗口管理实战指南
  • Java基础加强13-集合框架、Stream流
  • 鸿蒙 hiperf 制作火焰图
  • 随机变量基础教程
  • 鞋子网站建设策划书北京网站设计多少钱
  • 超越传统:精密蚀刻如何实现±1μm的极致公差
  • 鸿蒙NEXT系列之鸿蒙NDK UI 初探
  • gRPC从0到1系列【25】
  • 冠县网站建设电话wordpress优化打开速度插件
  • Redis中string底层实现原理
  • 百度经验官方网站登录入口常州网站建设方案优化
  • 网站改域名如何做百度优化企业网站营销典型案例
  • Java采用easyexcel组件进行excel表格单元格的自动合并
  • 整体设计 逻辑系统程序 之18 Source 容器(Docker)承载 C/P/D 三式的完整设计与双闭环验证 之2
  • 汽车保险网站简历模板大学生
  • 基于pytest的接口测试
  • 阿里巴巴做网站需要多少钱镇江vi设计
  • 嵌入式Linux(以泰山派无 eMMC 版为例,嘉立创给的Linux镜像有问题!)系统报错磁盘不够但我用的是32G不可能不够怎么解决
  • 开源一个本地AI知识库
  • js哈哈哈哈哈哈哈哈哈哈
  • 做外汇都要看什么网站多元网站建设
  • 一些主要应用和NAT
  • AI编程开发系统028-基于Vue+SpringBoot的宠物领养系统系统(源码+部署说明+演示视频+PPT+lw)
  • MySQL连接池原理与网站数据流动(了解)
  • Hadess入门到实战(8) - 如何管理Go制品
  • 最短路径问题总结
  • 建设银行网站为什么登不上门头设计
  • NX543NX551美光SSD固态闪存NX552NX564
  • 倍增:快速幂