10.1 什么是动静分离
- Nginx 动静分离简单来说就是把动态跟静态请求分开,可以理解成使用 Nginx 处理静态页面/资源,Tomcat 处理动态页面/资源
- 动静分离可以减轻 Tomcat 压力,静态请求由 Nginx 处理,提供系统整体性能
- 回顾前面-示意图
10.2 需求说明/图解
10.4 先使用传统方式实现
- 创建 tomcat\webapps\search\cal.jsp [说明:为了测试方便,在tomcat2也对应创建一份]
<%--
Created by IntelliJ IDEA.
User: 谢家升
Version: 1.0
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>hello, jsp</title>
</head>
<body>
<img src="image/cal.jpg"/>
<h1>JSP, 计算器</h1>
<%
int i = 22;
int j = 66;
int res = i + j;
out.println(i + " + " + j + " = " + res);
%>
</body>
</html>
- 拷贝图片 cal.jpg 到 tomcat\webapps\search\image 目录,[说明:为了测试方便,在 tomcat2 也对应创建一份]
- 浏览器访问 http://www.xjscrm.com/search/cal.jsp 就可以看到正确页面
10.5 动静分离优化步骤
10.5.1 修改 安装目录\nginx.conf
10.5.2 创建 /usr/local/nginx/html/search/image 目录
- 创建 /usr/local/nginx/html/search/image 目录,因为图片路径其实是 ip/search/image
10.5.3 将 Linux 的两个 Tomcat\webapps\search\image 目录删除
- 将 Linux 的两个 Tomcat\webapps\search\image 目录删除,并在 /usr/local/nginx/html/search/image 目录下放入图片
10.5.4 linux 防火墙打开 80 端口, 保证外网可以访问
10.6 完成测试
10.6.1 启动 或者 重新加载 Nginx
10.6.2 windows 浏览器输入 http://www.xjscrm.com/search/cal.jsp
- 这时图片就是从 Nginx 直接返回的
- 而请求 cal.jsp 才转发到对应 tomcat 完成
10.6.3 如果有 css js 文件 需要动静分离,按照规则配置即可