1.什么是动静分离
就是将网站静态资源(HTML,JavaScript,CSS,img等文件)与后台应用分开部署,提高用户访问静态代码的速度,降低对后台应用服务器的请求。后台应用服务器只负责动态数据请求。
优势:
1、分担负载,减轻web服务器的压力,适用于大负载。
2、静态资源放置cdn,同时还可以通过配置缓存到客户浏览器中,这样极大减轻web服务器的压力。
劣势:
1、网络环境不佳时,ajax回应很慢,导致页面出现空白,出错处理会不好看。
2、不利于网站SEO(搜索引擎优化) ,
3、增加了开发复杂度。
2.实现方案
动静分离最简单的实现方案就是:Nginx服务器作为代理服务器,根据匹配规,将动态的数据请求转发给tomcat,将静态资源请求直接返回本地静态资源文件,从而达到动静分离的目的。
3.准备静态资源
创建两个目录:
/data/www/*.html
/data/images/*.jpg
配置Nginx.conf server {
listen 9003;
server_name www.cpf.com;
location / {
root /data/www;
}
location /images/ {
root /data;
}
}
访问:www.cpf.com/index.html 转换成:/data/www/index.html
访问:www.cpf.com/images/2.jpg 转换成:/data/images/2.jpg
测试:
通过url去匹配静态资源即可。静态:static。