【Linux运维】了解Nginx

 

目录

一、什么是Nginx?

二、Nginx的功能有哪些?

1、正向代理:

2、反向代理:

3、负载均衡:

(1)轮询:

(2)加权轮询:

(3)IP hash:

  4、动静分离:

三、Nginx在CentOS上的安装


一、什么是Nginx?


Nginx是一款轻量级Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。Nginx代码完全用C语言写成,其特点是占有内存少,并发能力强。说到Web服务器,Apache服务器和IIS服务器是两大巨头;但是运行速度更快、更灵活的Nginx 正在迎头赶上,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。

Nginx的软件类型是开源软件、网页服务器软件。


二、Nginx的功能有哪些?


  • 正向代理
  • 反向代理
  • 负载均衡
  • HTTP服务器(包含动静分离)

说到代理,首先我们要明确一个概念,所谓代理就是一个代表、一个渠道;

此时就设计到两个角色,一个是被代理角色,一个是目标角色,被代理角色通过这个代理访问目标角色完成一些任务的过程称为代理操作过程;如同生活中的专卖店~客人到adidas专卖店买了一双鞋,这个专卖店就是代理,被代理角色就是adidas厂家,目标角色就是用户。

那么,了解到了代理的概念,咱们首先谈谈正向代理吧,有正才有反的说法。

1、正向代理:

我们平常所说的代理服务器(Proxy Server)提供的就是正向代理服务,其功能是代理网络用户去取得网络信息。代理位于Web

客户端和Web服务器之间,扮演“中间人”的角色。

正向代理也是大家最常接触的到的代理模式,我们会从两个方面来说关于正向代理的处理模式,分别从软件方面和生活方面来解释一下什么叫正向代理:

买口红的小例子:

当你想要买某个外国商店的口红时,你知道具体的商店地址,但是由于你现在没有办法出国,所以你找一个代理商帮你从外国买到口红再交给你,这样外国厂商其实不知道是你买的,他面对的客户是代理商,隐藏了具体的客户信息。

正向代理最大的特点是客户端非常明确要访问的服务器地址;服务器只清楚请求来自哪个代理服务器,而不清楚来自哪个具体的客户端;

正向代理模式的特点是:屏蔽或者隐藏了真实客户端信息。


2、反向代理:

我们应该都有过这样的经历,拨打10086客服电话,可能一个地区的10086客服有几个或者几十个,你永远都不需要关心在电话那头的是谁,叫什么,男的,还是女的,漂亮的还是帅气的,你都不关心,你关心的是你的问题能不能得到专业的解答,你只需要拨通了10086的总机号码,电话那头总会有人会回答你,只是有时慢有时快而已。那么这里的10086总机号码就是我们说的反向代理。客户不知道真正提供服务人的是谁。

反向代理隐藏了真实的服务端,当我们请求一个网站的时候,就像拨打10086一样,背后可能有成千上万台服务器为我们服务,但具体是哪一台,你不知道,也不需要知道,你只需要知道反向代理服务器是谁就好了,那么你访问的这个网址就是我们的反向代理服务器,反向代理服务器会帮我们把请求转发到真实的服务器那里去。

反向代理:主要用于服务器集群分布式部署的情况下,反向代理隐藏了服务器的信息!

反向代理的特点是:隐藏了真实的服务端。

使用反向代理的优势有很多,比如,隐藏和保护服务器资源、负载均衡,缓存静态内容,加密和SSL加速等。

通常情况下,我们在实际项目操作时,正向代理和反向代理很有可能会存在在一个应用场景中,正向代理代理客户端的请求去访问目标服务器,目标服务器是一个反向单利服务器,反向代理了多台真实的业务处理服务器。具体的拓扑图如下:

 

3、负载均衡:

负载均衡也是Nginx常用的一个功能,负载均衡其意思就是分摊到多个操作单元上进行执行。

负载均衡:多在高并发情况下需要使用。其原理就是将数据流量分摊到多个服务器执行,减轻每台服务器的压力,多台服务器(集群)共同完成工作任务,从而提高了数据的吞吐量。

比如:当网站访问量非常大,网站越来越慢,一台服务器已经不够用了。于是将同一个应用部署在多台服务器上,将大量用户的请求分配给多台机器处理。同时带来的好处是,其中一台服务器万一挂了,只要还有其他服务器正常运行,就不会影响用户使用。

Nginx内置的负载均衡策略有3种:轮询,加权轮询,IP hash。同时支持扩展策略,完全可以自己写一套规则交给Nginx去执行。

(1)轮询:

这种策略简单易行,将请求平均的分配给每个服务器去处理。

 

(2)加权轮询:

升级版的轮询策略,权重越大的服务器会被分配越多的请求数量。

 

(3)IP hash:

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

  4、动静分离:

            Nginx提供的动静分离是指把动态请求和静态请求分离开,合适的服务器处理相应的请求,使整个服务器系统的性能、效率更高。

            Nginx可以根据配置对不同的请求做不同转发,这是动态分离的基础。静态请求对应的静态资源可以直接放在Nginx上做缓冲,更好的做法是放在相应的缓冲服务器上。动态请求由相应的后端服务器处理。


三、Nginx在CentOS上的安装

 


请看下一篇博客:https://blog.csdn.net/Ginny97/article/details/99173094

 

初次学习,若有不足,请多多指导。后续研究精彩正在继续,敬请期待~


 

 

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ariel_欢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值