前言
本文的内容均来自于B站up主“尚硅谷”的教程视频。
博主的博客,你可以理解为是博主在做笔记,方便复习。
希望也可以帮到你们。
另外,Nginx 是 学习SpringCloud 的前置条件,所以还是非常有必要学习一下的。
正文 – Nginx简介
1、什么是Nginx?
Nginx
HTTP 和 反向代理web服务器
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。
Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,公开版本1.19.6发布于2020年12月15日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。
2022年01月25日,nginx 1.21.6发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。
这可以说是后端必学知识。
无论小厂,中厂,大厂,都在使用 Nginx。
2、Nginx 作为 web 服务器
Nginx 可以作为静态页面的 web 服务器,同时还支持 CGI 协议 的动态语言,比如: Perl,PHP等。
但是不支持 Java,Java 程序只能通过 Tomcat 配合完成。
Nginx 专为性能优化而开发,性能是其最重要的考量,实际上非常注重效率,能经受高负载的考验,有报告表明能支持高达 50,000 个并发链接数。
3、反向代理
3.1 正向代理
在讲解反向代理之前,我们需要先了解 正向代理 是什么意思。
Nginx 不仅可以做反向代理,实现负载均衡,还能用作正向代理来进行上网等功能。
正向代理,如果把局域网外的 internet 想象成一个巨大的资源库,则局域网中的客户端要访问 internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。
说白了,就是要通过 “中介【代理服务器】”来访问 internet。
在了解完 正向代理之后,我们再来看看反向代理。
3.2、反向代理
反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目录服务器获取数据后,再返回给客户端,此时反向代理服务器 和 目标服务器 对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实的服务器 IP 地址。
正向代理 与反向代理的区别:
正向代理,就好像 中间人,作为 另外两人【客户端 和 目标服务器】之间的沟通的桥梁,并且这两个人“相互认识”。【客户端知道它是和那个目标服务器交互】
而反向代理,就好像是 谍战片的中间人,负责将上级的命令 传递给 下级人员。并且,下级人员只认识 中间人,不知道上级是谁。【客户端只知道代理服务器的地址,不知道目标服务器的地址,安全性增强】
两者之间的关系有点类似于:转发 和 重定向 之间的关系。
4、负载均衡
客户端发送多个请求到服务器,服务器处理请求,有一些可能要与数据库进行交互,服务器处理完毕后,再将结果返回给客户端。
这种架构模式对于早期的系统相对单一,并发请求相对较少的情况下是比较适合的,成本也低,但是随着信息数量的不断增长,访问量和数据量的飞速增长,以及系统业务的复杂度增加,这种架构会造成服务器响应客户端请求的速度日益缓慢,并发量特别大的时候,还容易造成服务器的直接崩溃,很明显这是由于服务器的性能的瓶颈造成的问题,那么如何解决这种情况呢?
我们首先想到的可能是升级服务器的配置,比如提高 CPU 执行频率,加大内存等提高机器的物理性能来解决此问题,但是我们知道 摩尔定律 的日益失效,硬件的性能提升已经不能满足日益提升的需求了。
最明显的一个例子:
天猫双十一的当天,某个热销商品的瞬时访问量是极其庞大的,那么类似上面的系统架构,将机器都增加到现有的顶级物理配置,都是不能够满足需求的,那么怎么办呢?
通过上面的分析,我们排除掉了 增加服务器的物理配置 来解决问题的方法,也就是说纵向解决问题的方法行不通了,那么横向增加服务器的数据量呢?
这时候集群的概念产生了,单个服务器解决不了,我们就增加服务器的数量,然后将请求分发到各个服务器上,简单来说就是将请求“分流”了,请求的压力由多个服务器共同承担,从而减轻了单个服务器的压力。
这就是负载均衡,将压力分摊给多个服务器,由多个服务器共同承担访问压力,这样就避免了 单个服务器 发生 过载而崩溃的情况了。
5、动静分离
6、高可用
简单来说,就是配置了两台(或更多)的nginx服务器,当主服务器宕机时,就会自动切换到备用服务器,从而保证项目的持续运行。
【有点像 Redis 中的 主从复制 】
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/121062.html