nginx动静分离

一、动静分离简介

动静分离,通过中间件将动态请求和静态请求进行分离, 分离资源, 减少不必要的请求消耗, 减少请求延时。

好处

  • 动静分离后, 即使动态服务不可用, 但静态资源不会受到影响

实验环境

角色 服务 IP地址 主机名
负载均衡 Nginx Proxy 10.0.0.10 lb01
静态资源 Nginx Static 10.0.0.51 web01
动态资源 Tomcat Server 10.0.0.52 tomcat

二、配置过程

2.1 负载均衡配置

编辑nginx配置文件

upstream static {
  server 10.0.0.51:80;
}

upstream tomcat {
  server 10.0.0.52:8080;
}

server {
  listen 80;
  server_name _;
  location / {
    root /website;
    index index.html;
  }

  location ~* .*\.(png|jpg|gif)$ {
    proxy_pass http://static;
  }

  location ~* .*\.jsp$ {
    proxy_pass http://tomcat;
  }
}

2.2 web01配置静态资源

编辑nginx配置文件

server {
  listen 80;
  server_name _;

  location ~* .*\.(png|jpg|gif)$ {
    root /website/images;
  }
}

创建网站根目录

#创建网站根目录
mkdir -p /website/images && cd /website/images

#下载一个图片
wget -O /website/images/nginx.png https://nginx.org/nginx.png

2.3 tomcat配置动态资源

编辑jsp测试文件

⚠️这里已经二进制安装tomcat8.5

cat > /usr/local/tomcat-8.5.56/webapps/ROOT/tomcat_test.jsp <<'EOF'
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<HTML>
    <HEAD>
        <TITLE>JSP Test Page</TITLE>
    </HEAD>
    <BODY>
      <%
        Random rand = new Random();
        out.println("<h1>Random number:</h1>");
        out.println(rand.nextInt(99)+100);
      %>
    </BODY>
</HTML>
EOF

三、访问测试

访问静态资源

iShot2020-06-2310.06.48

访问动态资源

iShot2020-06-2310.07.33

泡泡吐肥皂o © gitbook.pptfz.top 2021 all right reserved,powered by Gitbook文件修订时间: 秃笔南波湾!!!

results matching ""

    No results matching ""