1.关于nginx动静分离
Nginx 动静分离简单来说就是把动态跟静态请求分开;
不能理解成只是单纯的把动态页面和静态页面物理分离;
严格意义上说应该是动态请求跟静态请求分开;
可以理解成使用 Nginx处理静态页面, Tomcat 处理动态页面;
动静分离从目前实现角度来讲大致分为两种:
一种是纯粹把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案;
另外一种方法就是动态跟静态文件混合在一起发布,通过 nginx 来分开。
通过 location 指定不同的后缀名实现不同的请求转发。
通过 expires 参数设置,可以使浏览器缓存过期时间,减少与服务器之前的请求和流量。
例如:设置expires为 3d,表示在这 3 天之内访问这个 URL,发送一个请求,
比对服务器该文件最后更新时间没有变化,则不会从服务器抓取,返回状态码304,
如果有修改,则直接从服务器重新下载,返回状态码 200。

1.实际测试
预期效果:
a.html通过tomcat静态请求;
a.html中会引用静态资源a.css使字体变红,并且引用静态资源中的图片;
a.css和wst.jpg通过静态请求;
远程访问a.html时,可以看到a.html中有静态资源的效果,即字体变红,有图片;
主要思路:
在linux服务器根目录下建一个/data/static目录用来保存静态文件;可以用mkdir命令来创建目录;
在static文件中放静态文件;
在ngnix中配置文件的server块中添加一个location中来关联该静态文件目录;
动态文件是通过tomcat来访问,需要放在tomcat的webapp目录下;
在nginx中给tomcat配置反向代理;
1)配置静态文件
在/data/static中放入静态文件;
a.css:作用是使p标签中的字体为红色
p{color:red}
wst.jpg:

在ngnix中配置:
location /static/{
root /data/;
autoindex on;
}
当请求路径中有/static/时这条location会生效;
root /data/; ->表示请求静态资源文件的根据路是/data/;
例如:请求 xxxx:80/static/a.css 时,会以服务器的/data/static/a.css路径来找;
autoindex on; ->作用是列出目录中的内容;
例如:访问 xxxx:80/static/时会显示static目录的所有文件;

2)配置动态文件
将a.html放入tomcat的webapp目录中的test目录中;
a.html:其中引用了静态资源文件a.css和wst.jpg
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="/static/a.css" type="text/css" />
</head>
<body>
<h1>8080</h1>
<p>如果引用了静态的css则为红色</p>
<img src = "/static/wst.jpg"/>
</body>
</html>
在nginx中给tomcat配置反向代理:
location ~/test/{
proxy_pass http://127.0.0.1:8080;
}
请求路径中带有tomcat时会访问tomcat服务器;
重启nginx:
./nginx -s reload
远程访问:
