在线客服
扫描二维码
下载博学谷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服务。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
在线学Java开发学习效果怎么样?
在线学Java的学习效果因人而异,每个人的理解学习能力不一样所以学习效果有高有低。其实在线学习更适合在职想转型的人群选择,在线学习可以根据个人的时间调整,不用辞职学习,降低了时间投入成本
8482
2019-07-18 22:28:19
Java学习之Java源码讲解
关于Java中源码的学习,是不少同学头疼的知识点。本文整理了JAVA源码学习的八大要点,分别是基础知识、面向对象、异常处理、集合、综合类核心代码、JAVA8新特性、Input/Output和Java小实例。
9268
2019-08-01 21:43:56
Java面试题之面向对象整理附答案
面向对象以数据为中心的开发方式,使用继承来简化开发过程,使用接口来规范对数据的操作,使用多态达到操作的灵活性。可以说面向对象是Java面试中的一个常见重要考点,因此本文为大家整理了面向对象的相关面试题,其中包括面向对象的特性、访问权限修饰符和clone对象的理解。大家可以结合着参考答案,梳理一遍面向对象的相关知识点。
12439
2019-12-04 14:01:29
Java工程师面试知识点梳理汇总
如今,大多数高端企业级应用都在使用Java,除了大型企业级应用,还有许多游戏开发、大数据的架构都是通过Java来完成的。因此,Java的就业面可以说是十分广泛了。本文专门为大家梳理汇总了Java工程师面试的必备知识点,内容包括数据库、技术框架、项目管理、项目部署以及开发模式,下面一起看看吧!
7505
2020-04-09 21:35:52
Logstash开发采集上亿级别数据
Logstash开发采集上亿级别数据,需求属于日志采集的范畴,Logstash本身不支持反序列化功能,需要自定义开发ruby插件来支持,使用MLSQL结合UDF的方式进行流式处理。MLSQL写入hdfs会产生大量的小文件,需要单独开发合并文件的功能,写入es的数据是需要数仓结合其他业务数据进行建模,而MLSQL在这点做的不太好,所以用离线处理的方式。
6303
2020-09-02 10:22:22
