nginx相关概念

2020-03-30  本文已影响0人  稚友22

1.1nginx概述

   nginx是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能
力强,事实上 nginx 的并发能力确实在同类型的网页服务器中表现较好。且可以作为静态页面的 web 服务器,但是不支持 java。Java 程序只能通过与 tomcat 配合完成。Nginx 专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率 ,能经受高负载的考验,有报告表明能支持高达 50,000 个并发连接数。
https://lnmp.org/nginx.html

1.2nginx的正向代理机制

   如果把局域网整个想象成一个大的资源库,则局域网中的用户要访问Internet,就需要 通过代理服务器来访问,而这个代理服务器的代理服务就是正向代理,如图所示:


正向代理.png

1.3nginx的反向代理

   nginx的方向代理对于用户或者说对于客户端是无感的,因为客户端并不需要配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后在响应给客户端,此时反向代理服务器和目标服务器就是一个整体服务器,对外只暴露出泛型代理的地址,而影藏了真正的服务器ip地址,如图所示:


反向代理.png

1.4nginx的负载均衡

   客户端发送多个请求到服务器,服务器处理请求,有一些还可能要与数据库进行交互,服务器处理完毕后,再将结果返回给客户端。这样的架构比较单一,不适合数据量日渐增大,访问量飞长,以及业务难度的增加的高并发高需求项目,这种架构会造成服务器相应客户端的请求日益缓慢,并发量特别大的时候,还容易造成服务器直接崩溃。很明显这是由于服务器性能的瓶颈造成的问题,那么如何解决这种情况呢?
  我们首先想到的可能是升级服务器的配置,比如提高CPU执行频率,加大内存等提高机器的物理性能来解决此问题,但是我们知道摩尔定律的日益失效,硬件的性能提升已经不能满足日益提升的需求了。
  这时候集群的概念产生了,单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡,如图:


负载均衡.png

1.5nginx的动静分离

  为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力,我们可以将js.css.html等静态资源专门放置在一个服务器上,在通过nginx调用,可以提高加载速度,提高用户体验,如图:


动静分离.png

清楚了概念,我们接下来就真正的去实操一下吧!一般nginx安装在linux系统中。

上一篇下一篇

猜你喜欢

热点阅读