七、nginx动静分离
1. 什么是动静分离
动静分离,通过中间件将动态请求和静态请求进行分离。减少不必要的请求消耗,同时能减少请求的延时。
动静分离只有好处: 动静分离后,即使动态服务不可用,但静态资源不会受到影响。
一般来说,将静态资源部署在nginx上,当一个请求来的时候,如果是静态资源的请求,就直接到nginx配置的静态资源目录下面获取资源,如果是动态资源的请求,nginx利用反向代理的原理,把请求转发给后台应用去处理,从而实现动静分离。
2. 页面中添加静态资源的使用
在每一个read.jsp页面中添加一段代码:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h1>首页:tomcat8080</h1>
<h2>SessionID:<%=session.getId()%></h2>
<h2>图片</h2>
<img src="images/tu.png"/>
</body>
</html>
3. 静态资源放在nginx中
在nginx/html的目录下创建/demo/images目录,并且将图片放置到该目录下
4. 修改nginx.conf配置文件
在nginx/conf目录下找到nginx.conf文件
修改后的具体内容如下:
# 静态请求直接读取
location ~ .*\.(html|gif|jpg|jpeg|png|bmp|swf|css|js)$ {
root html;
expires 30d;
}
因为nginx的配置文件发生了变化,需要重新加载gninx的配置文件。
nginx -s reload