目录
1,概述
静动分离,就是将css、js、jpg等静态资源和jsp等动态资源分开处理,以此提高服务器响应速度,提高性能。
2,动静分离的配置
接上面的例子,我们使用的erp系统。查看erp里面的静态文件的路径可以看出
<link rel="stylesheet" href="${ctx }/resources/layui/css/layui.css" media="all" />
因为项目的发布名为erp所有要按下面的规则来设置动静分离
1,把tomcat1里面的webapps/erp/resources 拷贝到nginx/里面
#在nginx下创建resources目录 mkdir resources #在resources下面创建erp目录 cp -r /root/software/tomcat1/webapps/erp/resources/ /usr/nginx/
2,修改conf/nginx.conf的server里面的配置(配置静态资源,以.xxx结尾时访问)
#动态分离的配置 location ~* \.(css|js|html)$ { root resources;#可以使用相对路径和绝对路径 /usr/resources就是绝对路径 expires 7d;#有效天数 }
location ~* \.(avi|txt|png|gif|jpg|mp3|mp4|rmvb)$ { root resources; expires 20d; }
3,动静分离的配置正则说明
http.server.localtion语法
基本语法: location [=|~|~*|^~]/uri/{...} = 严格匹配, 如果这个查询匹配,将停止搜索并立即处理此请求 ~ 区分大小写匹配(可用正则表达式) ~* 不区分大小写匹配(可用正则表达式) !~ 区分大小写匹配 !~* 不区分大小写匹配 ^~ 如果把这个前缀用于一个常规字符串,那么告诉nginx如果路径匹配那么不测试正则表达式
location = /{ #只匹配/查询 }
location /{ #匹配任何查询,因为所有请求都以/开头。但是正则表达式和长的块规则将被优先查询匹配 }
location ^~ /images/{ #匹配任何以/images/开头的查询并停止搜索。任何正则表达式将不会被测试。 }
location ~*.(gif|jpg|jpeg)${ #匹配任何以gif|jpg|jpeg结尾的请求 }