一:什么是动静分离
nginx动态分离简单来说就是把动态和静态请求分开,不能单纯的理解就是把动态页面和静态页面物理分离,严格意义上来说应该是动态请求和静态请求分开,可以理解成使用nginx处理静态页面,tomcat处理动态页面。动静分离从目前实现角度来讲大致分为两种。
一种是纯粹的把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案
另外一种方法就是动态文件跟静态文件混合在一起发布,通过nginx分开
通过location指定不同的后缀名实现不同的请求转发,通过expires参数设置,可以使浏览器缓存过期时间,减少与服务器之前的请求和流量,具体Expires定义:是给一个资源设定一个过期时间,也就是说无需去服务端验证,直接通过浏览器自身确认是否过期即可,所以不会产生额外的流量,此种方法非常适合不经常变动的资源(如果经常更新的文件,不建议使用Expires来缓存)。我这里设置3d,表示在这三天之内访问这个URL,发送一个请求,比对服务器该文件最后更新时间没有变化,则不会从服务器抓取,返回状态码304,如果有修改,直接从服务器上重新下载,返回状态码200
第一种
二:准备工作
- 在liunx系统中准备静态资源,用于准备访问
cd /usr/demo #进入到demo目录 mkdir image #创造imgae目录 mkdir html #创造html目录
三:具体配置
- 找到ngix的配置文件nginx.conf,配置如下,配置好了以后重启一下
location /html/ {
root /usr/demo/; #从根目录开始找到对应的目录
index index.html index.htm;
}
location /image/ {
root /usr/demo/;
autoindex on; #展开目录
}
- 测试效果