在线客服
扫描二维码
下载博学谷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序列化介绍
序列化是将对象的状态信息转换为可以储存或者传输的形式的过程。因此在Java开发中,序列化是一个非常重要的环节。Java序列化可以在JVM停止运行之后能够保存(持久化)制定的对象,并在将来重新读取被保存的对象。
6750
2019-06-25 18:26:59
初学Java要安装什么软件比较好?
相信不少初学Java的同学,在学习的道路上一开始就遇到了这样的“拦路虎”:初学Java要安装什么软件比较好?工欲善其事必先利其器,Java程序员写代码也是如此。
8910
2019-07-05 10:48:07
JavaEE开发在线培训班讲师怎么样?
在线教育的技术日臻成熟,服务内容页越来越全面。所以很多的小伙伴不需要像以前那样纠结是否去参加线下面授班了。直接在线上可以学习到和线下一样的课程内容,得到与线下一样的服务。现在想学习Java的同学们在报名之前都会考虑一下:JavaEE开发在线培训班讲师怎么样?培训效果有保障吗?课程内容是不是和企业需求想匹配?
7158
2019-07-23 18:14:33
零基础学Java需要多长时间?学到什么程度可以就业?
零基础学Java需要多长时间?零基础的小白从入门Java到精通最快也要半年,这还是在报了培训班的情况下。因此对于初学者来说,选择一个IT培训机构很重要。好的Java培训机构的课程,由入门案例到详细工作原理及特性的解析,循序渐进,逐步深入。下面讲讲Java学到什么程度可以就业。
5967
2019-09-10 15:11:21
MySQL数据库性能优化是什么?
MySQL数据库目前已被Oracle收购,并发展处多个版本。MySQL是一种开放源代码的关系型数据库管理系统RDBMS,使用最常用的数据库管理语言--结构化查询语言SQL进行数据库管理。
5431
2019-11-22 15:44:54