Nginx---知识篇|能做什么?

简介:快速了解Nginx

 Nginx是什么/用来做什么?

  内容介绍

   一、简介

   二、应用

一、Nginx简介

Nginx是enginex的简写,是一款很优秀的开源的高性能HTTP和反向代理服务器。

Nginx的创始人是俄罗斯组名的it大神伊戈尔·赛索耶夫。

Nginx是一款轻量级的代理服务器,作为一个很强大的高性能Web和反向代理服务器它具有很多非常优秀的特性:Nginx更轻巧,处理的并发数更大(Nginx的并发性在同类型的服务其中表现很好,中国用户使用的很多,比如 互联网大厂百度,京东,网易,腾讯,淘宝等),对HTTP并发连接的高处理能力(单台服务器通常可以处理三万到六万个并发请求),单个链接处理占用的内存小,通常较多用于处理静态页面和反向代理服务。

Nginx和Apache都采用模范化的结构设计,在连接高并发的情况下,Nginx是Apache服务不错的代替品:Apache的下载包很庞大,而Nginx的下载包很小,现在的版本大概只有几兆的大小,安装非常方便。能支持最大60000个并发连接数 这是他无与伦比的优势。

二、Nginx应用

1.Http代理和反向代理

   正向代理有点像NAT网络结构,用户通过向网关请求访问网站,网关服务器负责和外网服务器对接请求访问并返回结果;

   而反向代理则是,用代理服务器来接受客户端的访问请求,然后服务器将请求有策略的转发给正在实际工作中的业务服务器,并将从业务服务器处理的结果,返回给客户端。

示意图

2.负载均衡

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

它利用一些反向代理功能加算法策略达到我们想要访问的目的

负载均衡的策略主要有:轮询、加权轮询、IP hash

轮询

假如有三台服务器和三台客户端,第一次访问时,第一个服务器接受请求;第二次访问时,第二台服务器接受请求;第三次访问时,第三台服务器接受请求。。。以此类推,按次序分配

 加权轮询

对接受的请求做一个加权分配,配置高的服务器承担的请求多一点,配置低的接受请求少一点。假如第二台服务器是第一台服务器的两倍,单位时间里,可以让第二台服务器执行两次,第一台执行一次。

IP  hash

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

 3.Web缓存

 Nginx从0.7.48版本开始,支持了类似Squid的缓存功能。这个缓存是把URL及相关组合当做Key,用md5编码哈希后保存到硬盘上,所以它可以支持任意URL链接,同时也支持404/301/302这样非200状态码

虽然目前官网的NginxWeb缓存服务只能为制定的URL或状态码设置过期时间,不支持类似Squid的PURGE指令,手动清楚制定缓存页面,但是,通过一个第三方的Nginx模块,可以清楚制定的URL缓存

NginxWeb缓存服务主要有proxy_cache相关指令集和fastcgi_cache相关指令集构成,前者用于反向代理时对后端内容源服务器进行缓存,后者主要用于对FastCGI的动态程序进行缓存。两者的功能基本一样

猜你喜欢

转载自blog.csdn.net/weixin_56461027/article/details/130448751