redis的相关知识,我们已经讲得差不多了,后面我们会开新的系列内容,来谈一谈Nginx。Nginx相信大家并不陌生,作为一款世界上最流行的HTTP与反向代理服务,在互联网领域被广泛的应用!今天,我们主要来聊一聊Nginx的主要作用,后面我在继续进一步深入了解Nginx,剖析下源码。
首先我们得了解什么是静态资源,在我们打开网页的时候,有哪些是动的,哪些是静的?例如我们打开清华大学的首页,清华大学的图标,上面的导航栏,网站的样式,这些都是可以不用通过后端的业务逻辑拿到的内容,每次都是固定不变的(除非替换资源),我们称之位静态资源,而网站上一些清华大学的具体新闻,是通过后台服务拿到最新的消息,则不是静态资源。
对于静态资源,我们可以部署到Nginx服务器上,那样子,每次浏览器的请求,我们在Nginx服务器上面获得对应的图片,css等文件后,就直接返回给用户,那样子就可以减少后台逻辑服务器的压力。
很多程序员不知道反向代理是什么意思?了解反向代理,我们先来了解下什么是正向代理,相信大家都了解我们可以通过配置代理服务器,让服务端不知道我们真实是从哪一台机器上发出来的请求。反向代理,就是方向相反,让客户端不知道服务器具体是哪台机器。
为什么需要反向代理呢?这要从网络服务开始说起了,正常情况下,服务器的后台是不可能只有一台机器的,往往是一个集群,举个简单的例子,你在淘宝上进行下单,淘宝后台可能有非常多台下单的机器,你最终会到其在某一台或者某几台取完成这个下单的动作。多态机器的好处,一是为了提升性能,扩大服务的并发,二也是为了容灾考虑,避免单台机器出问题而导致系统无法服务。
我们有好几台机器,怎么确认最后是在哪一台机上上面工作的呢?这就Nginx的功劳了,我们可以把请求,分发给对应的机器上,分发的时候有不同的策略,我们当然希望流量越均匀越好,这就是Nginx的一个重要作用负载均衡。
同时,对于部分资源,虽然也需要经过后台服务器,但是短时间内数据是不变的,所以我们就可以把它们缓存起来,这又是Nginx的另一大作用,缓存。
什么是API服务,这个可能比较冷门,相信很多人还不太了解,本人也是用的比较少,API服务的主要作用是提供Http接口直接读取DB或者Redis的数据,通常在一些非敏感的只读数据上,有着较大的作用,例如读取某个排行板等。
好了,今天我们针对Nginx的功能介绍主要就讲到这里,后面我们会进一步剖析Nginx,欢迎大家关注我,我们一起共同学习,共同进步!
欢迎加入我的圈子,大家共同学习,共同进步!