静态资源
.html.jpg.css.js等,没有后台数据库,不含程序(如php、jsp、asp等)的网页
动态资源
需要访问数据库的资源都属于动态资源
静态请求
用户发起的请求只访问到前端资源,不访问数据库
动态请求
用户发起的请求访问后端资源,访问数据库
用户注册、登录
动静分离
又叫前后端分离,通过中间件将前端代码和后端代码分开。通过nginx实现动静分离,即通过nginx反向代理、负载均衡配置规则实现让动态资源和静态资源及其他业务分别由不同的服务器解析,以解决网站性能、安全、用户体验等问题。
动静分离的好处:
动静分离后,即使动态服务不可用,但静态资源不会受到影响。也可以减少不必要的请求消耗,同时能减少请求的延时。
动静分离实践单台服务器实现动静分离:
location/{root/code/wordpss;index.php;}location~*\.(png
jpg
mp4
)${root/code/wordpss/images;gzipon;.....}location~\.php${fastcgi_pass.0.0.1:;.....}
多台服务器实现动静分离:
实践环境1°根据URL地址不同实现代理转发
根据HTTP的URL进行转发,通常称为第七层的负载均衡,而LVS的负载均衡一般用于TCP等的转发,被称为第四层的负载均衡。
企业中,有时希望只用一个域名对外提供服务,不希望使用多个域名对应同一个产品业务,此时就需要在代理服务器上通过配置规则使得匹配不同规则的请求会交给不同的服务器池处理。这类业务有以下几种:
1、动静分离、多业务服务分离
2、不同客户端设备使用同一个域名访问同一个业务时(案例见下节)
负载均衡器(如lb01)上示例配置如下