Nginx动静分离
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
1、概念
①动态请求和静态请求
- 动态请求需要由 Java 程序来处理的请求。
- 静态请求访问静态资源不需要 Java 程序处理的请求。
②实现方案
- 方案一纯粹把静态文件独立成单独的域名放在独立的服务器上也是目前主流推崇的方案。
- 方案二动态跟静态文件混合在一起发布通过 Nginx 来分开。
2、操作
①准备工作
- 在 Linux 系统中创建目录用来保存静态资源文件。
- /data/images/mi.jpg
- /data/www/index.html
- 在 Nginx 中配置对这些静态资源的映射
# 实验六动静分离
# 配置对静态资源的映射
server {
listen 7777;
server_name www.atguigu.shuai;
location / {
root html;
index index.html;
}
# 当用户通过 Nginx 访问 /images/ 目录下的内容时参考这个 location 配置
location /images/ {
# root 表示指定静态资源所在的根目录
root /data/;
# 开启 autoindex 功能可以在页面上显示目录的内容
autoindex on;
}
# 当用户通过 Nginx 访问 /www/ 目录下的内容时参考这个 location 配置
location /www/ {
root /data/;
autoindex on;
index index.html index.htm;
}
}
- 在 Tomcat 中准备 JSP 页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h1>JSP 页面</h1>
<img src="/images/mi.jpg" />
</body>
</html>
现在在这个 JSP 页面中/images/mi.jpg 路径并不是按照 Tomcat 上运行的 Web 应用来编写的。而是按照通过 Nginx 访问静态资源的规则编写的路径。
②配置 Nginx 访问动态资源
# 配置 location 访问 Tomcat
location / {
proxy_pass http://localhost:8080;
index index.jsp;
}
③Nginx 中的总体配置
# 实验六动静分离
# 配置对静态资源的映射
server {
listen 7777;
server_name www.atguigu.shuai;
# 配置 location 访问 Tomcat
location / {
proxy_pass http://localhost:8080;
index index.jsp;
}
# 当用户通过 Nginx 访问 /images/ 目录下的内容时参考这个 location 配置
location /images/ {
# root 表示指定静态资源所在的根目录
root /data/;
# 开启 autoindex 功能可以在页面上显示目录的内容
autoindex on;
}
# 当用户通过 Nginx 访问 /www/ 目录下的内容时参考这个 location 配置
location /www/ {
root /data/;
autoindex on;
index index.html index.htm;
}
}