在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
每当网站访问量较高的时候,网站的反应速度就变得非常缓慢,特别是图片、css、js等这些静态资源的加载,这个时候应该怎么办呢?其实只需一个Nginx就可以轻松解决上述问题,因为Nginx擅长处理像图片、css这样的静态资源。下面我们就开始入门学习Nginx的三大应用场景吧!
应用场景一:静态资源服务器
首先,提供静态资源服务,Nginx在处理HTML、css、图片等这些静态资源请求的速度是非常快的,更重要的是可以把网站上的动态资源和静态资源分开,这就是动静分离。现在我们来认识一下正向代理和反向代理。我们平常访问google是不通的,需要花钱买个VPN,通过这个VPN就可以在自己电脑上访问google、youtube这样的网站了。这个VPN就可以说是正向代理服务器。而且代理会把访问者隐藏在幕后,google服务器只知道有人访问了它,但并不知道是谁访问的。Nginx能用于正向代理,不过在大数的情况下都是用于反向代理。下面我们来看看Nginx的第二个应用场景,反向代理。
应用场景二:反向代理
反向代理跟正向代理正好相反,正向代理隐藏的是请求者的身份,反向代理隐藏的是服务者的身份。简单来讲,就是我在自己电脑上访问某宝的网站,但是它并不真正的提供服务,而是一个反向代理服务器?你的请求会先到达这个反向代理服务器,它会把请求在转发到真正服务器,拿到结果后在返给你。
再举个通俗的例子,假如你需要钱,但是又不知道谁有钱,所以你找了一个网贷平台,提交资料后,平台把钱打给你,你并不知道也不需要关注,这钱是谁的,从哪里来。平台拿到你贷款的请求后,会在内部去找对应的金主拿钱,拿到钱后再给你。这些金主才是真正的服务者,但是对你而言是隐藏的。反向代理,因为代理的是服务者,对于请求者而言,服务者的身份是隐藏的,这样就能更加保证服务者的安全性。
应用场景三: API服务
因为业务服务具有一些性能问题,但是数据库、reids好的多,这时用Nginx直接访问会提升一些性能,这也是为什么入门学习Nginx如此重要。应用服务它本身的性能有很多问题,但是数据库服务要比应用服务好的多,因为它的业务场景比较简单,它的并发性能和TPS都要远高于应用服务,所以衍生出这一应用场景——由Nginx直接去访问数据库、redis或应用服务。
根据Nginx强大的并发性能实现如web防火墙这样的复杂业务功能来提供给用户,就要求我们的API服务有非常强大的业务处理功能,所以像OpenResty、或者像Nginx集成的JavaScript,利用Lua、Javascript这样的语言功能,和它们语言先天自带的一些工具库,来提供完整的API服务。不过如果只是入门学习,能够使用Nginx处理静态资源完善网站就绰绰有余了。
看完Nginx入门学习之应用场景,大家应该明白了Nginx既能够处理静态资源,又可以做正向、反向代理,还能提供 API服务。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
MYSQL好学吗?一般要学多久?
Mysql好学吗?一般要学多久?对于有一定计算机语言基础的同学来说,Mysql算是非常好学的数据库了。学多久要看自身基础,没有基础的同学也不用担心,Mysql绝对可以作为大家入门数据库的第一步。如果报名线上培训班有老师的指导的话,最快8天就可以掌握Mysql数据库的知识了。那么该如何学习Mysql呢?
16353
2019-08-16 16:38:27
具备JavaWeb开发能力需要掌握哪些知识?
具备JavaWeb开发能力需要掌握哪些知识?首先Java基础语法是基础,另外大家对于MySQL、JDBC、HTML和CSS、JavaScript、BootStrap、XML、Tomcat、Servlet和HTTP请求协议、Request和Response、Cookie和Session、JSP,EL和JSTL等等知识必须要熟练掌握,这样才能基本具备JavaWeb开发能力。
5017
2019-11-01 14:17:19
设计模式的六大原则是什么?
设计模式的六大原则是什么?分别是单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则、开闭原则。下面就请大家跟随小编一起来深入理解这六大原则吧!
5732
2020-07-24 17:01:25
Java学习的重点难点是什么?新手入门有哪些门槛?
对于新入行的同学而言,开始学习Java是一个非常关键的过程,很多同学因为不了解Java学习的重点难点知识,导致学习中遇到诸多的问题,甚至走了不少弯路。那Java学习中的重点难点是什么?新手入门有哪些门槛呢?
6052
2020-07-29 09:40:55
成为Java高级开发工程师实操项目有哪些?
初级Java程序员和高级程序员间的差别就是职业技能和项目实战经验,高级程序员实操过的Java项目越多对于技术的提升越快越受企业欢迎,Java实战项目大致分为游戏类、管理系统、计费系统三类。
3847
2021-04-09 14:47:20