Nginx三大核心(反向代理,负载均衡,动静分离),高可用

本文介绍了Nginx的反向代理配置,包括SpringBoot项目部署、Nginx配置及负载均衡策略。重点阐述了轮询、权重等负载均衡策略,并详细解析了Nginx实现高可用的原理,涉及keepalived和虚拟IP的使用,确保服务器的持续运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、反向代理

1.正向代理

        正向代理: 该服务器代理的为客户端,对于后面真实的服务器来说,不知道访问者的地址。比如:翻墙软件。

2.反向代理

        反向代理: 该服务器代理的为服务器端,对于客户来说不知道访问的真实服务器。

 使用nginx完成反向代理

(1)准备一个spring boot项目打包

(2)将打包好的项目放在Linux系统下并解压

(3)修改nginx.conf配置文件

(4)进入nginx/sbin下重新加载nginx,启动nginx

./nginx -s reload

(5)进入解压好的项目目录下启动项目(别忘记对访问端口防火墙放行)

java -jar xxxx.jar

 二、负载均衡

1.什么是负载均衡

负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。

负载均衡(Load Balance)其意思就是分摊到多个操作单元上进行执行。

2.nginx上使用负载均衡

(1)配置nginx.conf配置文件

(2)打开两个Linux系统窗口

分别运行与服务器地址一样的项目

(3)打开浏览器

输入服务器地址与nginx监听的端口

(4)刷新浏览器

刷新浏览器我们会发现浏览器显示的项目为两个项目轮替显示

三、nginx负载均衡策略

为什么我们刷新网页会发现两个项目轮替呢?因为nginx默认负载均衡的策略为轮询策略。

nginx负载策略一共有五种:

(1)、轮询(默认)

  每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

(2)、weight

  指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

(3)、ip_hash

  每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

(4)、fair(第三方)

  按后端服务器的响应时间来分配请求,响应时间短的优先分配。

(5)、url_hash(第三方)

四、nginx高可用

1.nginx高可用的定义

        nginx的高可用简单来说就是配置了两台(或更多)的nginx服务器,当主服务器宕机时,就会自动切换到备用服务器,从而保证项目的持续运行。

2.nginx高可用的作用与意义

        因为nginx作为反向代理服务器时,有可能出现宕机的情况,而由于其反向代理的特性,就会导致其他服务器(tomcat等)无法被访问,这样项目就停止工作了。但是使用了高可用后,就可以避免这种现象出现。

3.nginx高可用的原理

        nginx的实现需要借助其他工具(keepalived)来实现。在keepalived中配置一个虚拟IP(VIP),同时keepalived会定时检查主服务器的工作状态(通过脚本实现)。在主服务器正常工作时,VIP就会映射到主服务器的IP,此时,虚拟ip对应的物理地址和主服务器IP对应的物理地址是相同的,所以访问虚拟IP即访问主服务器。当主服务器失效时,脚本就会监测到,从而根据预先的配置,找到优先级最高的备用服务器,并将虚拟IP映射到该备用服务器的ip,此时,这两个ip对应的物理地址时相同的。再主服务器回复正常时,又会被检测到,又会自动切换到主服务器。这样就实现了nginx的高可用。

二、nginx实现高可用

1.准备两天虚拟机一共作为主机一共作为备用机

2.在两个虚拟机上安装keepalived

yum install -y keepalived 安装keepalived

rpm -q -a keepalived  检查是否安装keepalived

3.修改配置

两个虚拟机都要修改而且一个为主一个为从

配置文件默认在etc/ keepalived目录下

找到nginx启动脚本并修改

 4.启动两台虚拟机

5.启动keepalived

systemctl start keepalived

6.访问

访问时一定要用设置的虚拟IP访问

7.关闭主虚拟机

你会发现访问还可以进行只不过由主虚拟机变为了从虚拟机

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值