动静分离
动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路
动静分离简单的概括是:动态文件与静态文件的分离。
软件开发中,有些请求是需要后台处理的(如:.jsp,.do 等等),有些请求是不需要经过后台处理的(如:css、html、jpg、js 等等文件),这些不需要经过后台处理的文件称为静态文件,否则动态文件。因此我们后台处理忽略静态文件。这会有人又说那我后台忽略静态文件不就完了吗。当然这是可以的,但是这样后台的请求次数就明显增多了。在我们对资源的响应速度有要求的时候,我们应该使用这种动静分离的策略去解决。
动静分离将网站静态资源(HTML,JavaScript,CSS,img 等文件)与后台应用分开部署,提高用户访问静态代码的速度,降低对后台应用访问。这里我们将静态资源放到 nginx 中,动态资源转发到 tomcat 服务器中。
### 静态资源访问
server {
listen 80;
server_name static.tmp.com;
location /static/imgs {
root data/tmp;
index index.html index.htm;
}
}
### 动态资源访问
server {
listen 80;
server_name www.tmp.com;
location / {
proxy_pass http://127.0.0.1:8080;
index index.html index.htm;
}
}