[云原生专题-34]:K8S - 核心概念 - 网络 - Web服务器与反向代理服务器nginx入门介绍

Posted 文火冰糖的硅基工坊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[云原生专题-34]:K8S - 核心概念 - 网络 - Web服务器与反向代理服务器nginx入门介绍相关的知识,希望对你有一定的参考价值。

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122806880


目录

第1章 常见网络服务器简介

1.1 什么是Web服务器

1.2 什么是代理服务器

1.3 什么是反向代理服务器

第2章 什么是Nginx

2.1 什么是Nginx

2.2 为什么需要Nginx?

2.3 Nginx主要功能


第1章 常见网络服务器简介

1.1 什么是Web服务器

Internet上的服务器也称为Web服务器,是一台在Internet上具有独立IP地址的计算机,可以向Internet上的客户机提供WWW、EmailFTP等各种Internet服务。

Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以处理浏览器等Web客户端的请求并返回相应响应,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个Web服务器是Apache、 nginx 、IIS: MicrosoftInternet信息服务器(Internet Information Services)

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。

1.2 什么是代理服务器

代理服务器(Proxy Server)的功能是代理网络用户去取得网络信息。形象地说,它是网络信息的中转站,是个人网络和Internet服务商之间的中间代理机构,负责转发合法的网络信息,对转发进行控制和登记。

代理服务器作为一种既是服务器又是客户机的中间程序,主要用于转发客户系统的网络访问请求。但是,代理服务器不只是简单地向真正的因特网服务器转发请求,它还可以控制用户的行为,对接收到的客户请求进行决策,并根据过滤规则对用户请求进行过滤。

通过代理服务器,网络管理员可以实现比用包过滤路由器更严格安全策略。不同于使用通用的包过滤路由器来管理通过防火墙的因特网服务流向,代理服务器通过在网关上为每项需要的应用安装专用的代码(代理服务)来工作。如果网络管理员没有为某一特殊服务安装代理服务代码,该服务就不会被支持,也不会通过防火墙转发相应的客户请求。并且,这种代理服务器码能被配置成仅支持某项服务的网络管理员认为可以接受的那部分特征,而不支持其他的特征。

我们常说的代理是正向代理,通过代理服务,隐藏了正在请求的客户端,服务器端并不知道请求的真正来源是谁,客户端的请求被代理服务器代理了。

1.3 什么是反向代理服务器

反向代理隐藏了真实的服务端, 反向代理隐藏了真实的服务端

反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。

第2章 什么是Nginx

2.1 什么是Nginx

Nginx (engine x) 是一个高性能的HTTP web服务器和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。也就是所Nginx处于client和服务器之间,主要用于屏蔽真实的服务器的。

在连接高并发的情况下,Nginx是Apache服务不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达 50,000 个并发连接数。

2.2 为什么需要Nginx?

比如说,使用其它传统服务器软件,每个客户端连接作为一个单独的服务器或单独的进程或线程处理,随着网站的流行度增加,并发连接数量的增加,Web服务器减慢,延迟了对用户的响应,到了最后实在撑不下去了,服务器软件响应不过来或死掉了,网站或应用程序也挂了。另外,如果增加服务器的数量,每个服务器都独立的地址,这就导致手机端的程序也要跟着变更。

有了反向代理服务器,无论增加多少个实际服务器,客户端都意识不到,可以任意的扩容、缩容、任意的改变服务器的部署,还可以实现负载均衡。Nginx就是这样的反向代理服务器。

Nginx 安装非常的简单,配置文件 非常简洁(还能够支持perl语法),Bugs非常少的服务器: Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。还能够在 不间断服务的情况下进行软件版本的升级。

2.3 Nginx主要功能

(1)作为 Web 服务器

相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机(云厂商)提供商的欢迎。能够支持高达 50,000 个并发连接数的响应。

(2)Web服务器的反向代理服务器

Nginx在做反向代理时,提供性能稳定,并且能够提供配置灵活的转发功能。

Nginx可以根据不同的正则匹配,采取不同的转发策略,比如图片文件结尾的走文件服务器,动态页面走web服务器,只要你正则表达式写的没问题,又有相对应的服务器解决方案,你就可以随心所欲的玩。并且Nginx对返回结果进行错误页跳转,异常判断等。如果被分发的服务器存在异常,他可以将请求重新转发给另外一台服务器,然后自动去除异常服务器。

(3)作为负载均衡服务器

Nginx提供的负载均衡策略有2种:内置策略和扩展策略。

内置策略:轮询,加权轮询,Ip hash。

扩展策略:就天马行空,只有你想不到的没有他做不到的啦,你可以参照所有的负载均衡算法,给他一一找出来做下实现。

轮询,加权轮询:

Ip hash算法:

对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。 

(4)作为邮件代理服务器:

Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器)。

2.4 Tomcat + Nginx实现高性能的web服务器

  • Tomcat:在K8S网络架构中,处于后端的Pod的位置,只用于处理动态页面的请求。
  • nginx:在K8S网络架构中,nginx可以在两个位置发挥作用,一是位于后端的Pod的位置,用于处理静态的页面请求;二是前端的基于HTTP协议的负载均衡器。 

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122806880

以上是关于[云原生专题-34]:K8S - 核心概念 - 网络 - Web服务器与反向代理服务器nginx入门介绍的主要内容,如果未能解决你的问题,请参考以下文章

[云原生专题-29]:K8S - 核心概念 - 名字空间/命名空间概念详解与主要操作案例

[云原生专题-43]:K8S - 核心概念 - placeholder - 加密数据

[云原生专题-42]:K8S - 核心概念 - placeholder-有状态服务

[云原生专题-38]:K8S - 核心概念 - 存储抽象- 空间大小可配置的目录挂载PV+PVC

[云原生专题-40]:K8S - 核心概念 - 网络模型网络通信集群内负载均衡机制(重要重要重要)

[云原生专题-33]:K8S - 核心概念 - 服务Service管理服务发现负载均衡