Nginx4 - 动静分离解析

在前面三篇已经介绍了Nginx的基本原理、代理功能以及负载均衡。本篇文章介绍一下Nginx的动静分离。
Nginx4 - 动静分离解析_第1张图片

一、Nginx的动静分离

在第二篇文章我说过,反向代理包括缓存和负载均衡。而今天说的动静分离其实就是使用了反向代理的缓存功能,缓存什么呢?缓存web网站的静态资源(例如图片、视频、CSS、JavaScript文件等)到代理服务器,设置每四小时刷新一次,这样大大的节省了加载静态资源的时间。
动静分离其实是运用Nginx的反向代理功能分发请求:所有动态资源的请求交给应用服务器,而静态资源的请求则直接由Nginx返回到浏览器,这样能大大减轻应用服务器的压力。

二、为什么要使用动静分离

不知道有没有遇到这种情况:在网速不好的时候,我们打开一个网站,有无规则排列的蓝色文字显示,没有图片和样式等功能。
这就是不使用动静分离一个体验不好的情况,因为在发送请求至后端时,单纯的数据传输(动态),比样式、图片特别是视频这样的静态是要快很多的(静态),因为数据转为二进制数据要快,要小,所以就出现了上述那一幕。
传统的web项目,一般都将静态资源放在项目static目录下,这样做很方便获取静态资源,但是如果说web项目很大,用户很多.静态资源很多时,服务器性能明显下降,这种情况下一般都会需要一个静态资源的服务器。
Nginx4 - 动静分离解析_第2张图片

三、动静分离的优点

  1. 便于维护使用(举例:一个项目图片可以方便所有项目使用)。
  2. 动静分离有利于CDN加速 (动静分离指后端处理数据文件和静态文件分离)。
  3. 便于缓存(举例:请求的是同一文件,就不用再下载了)。
  4. 静态资源的http请求中不会携带无用的cookie。
  5. 优化浏览器对同一域名进行请求的最大并发连接数限制(不同浏览器限制不同)。

四、应用场景

在实际项目中,Tomcat 能处理静态资源和动态资源,但是处理静态资源效率并不高,处于优化性能,提高访问效率,可以让 Tomcat 处理动态资源,让 Nginx 处理静态资源。Nginx4 - 动静分离解析_第3张图片

你可能感兴趣的:(Nginx,Nginx,动静分离,Tomcat)