上一篇对网站演进过程及 Nginx 做了介绍,本文将介绍演进过程中的动静分离阶段以及 Nginx 实现动静分离的具体步骤。
首先,介绍 Web 系统中的静态资源与动态资源的含义;之后,讲解如何利用 Nginx 实现 HTTP 服务器的功能;接着,对比 Nginx 与 Tomcat 在处理静态资源时的性能表现,结合具体的对比数据说明实现动静分离架构的原因,最后,给出 Nginx+Tomcat 实现动静分离架构的具体步骤,希望大家有所收获。
静态资源和动态资源
简单来说,在 B/S 架构中,静态资源一般指 Web 服务器对应目录中的资源文件。客户端发送请求到 Web 服务器后,Web 服务器(比如 Tomcat)直接从文件目录中获取文件并返回给客户端,客户端解析并渲染显示出来,比如 HTML、CSS、JavaScript、图片等文件。
这些文件原样返回给客户端,并不会在 Web 服务器端有所改变。而动态资源则与此不同,这些资源是会动态改变的。在复杂的互联网架构中,往往会因为需求不同、场景不同、甚至用户不同而需要 Web 服务器返回不同的数据,这就需要运行 Web 服务器中的程序,通过与数据库交互及其他逻辑运算,返回不同的数据资源,这些数据资源为动态资源。
在 Java语言中,这些资源包括动态服务器页面(比如 JSPÿ