使用tomcat + nginx 实现动静分离

tomcat + nginx实现动静分离

  • 使用tomcat + nginx实现动静分离
    • 什么是动静分离
    • 动态资源与静态资源的区别
    • 为什么要使用动静分离
    • 动静分离的应用场景
    • 使用tomcat + nginx 实现动静分离的分析图
      • 演示案例
      • 1、配置本机的host路径文件
      • 2、创建一个简单的springboot的web项目
      • 3、修改nginx的配置文件
      • 4、启动tomcat服务器 + 启动nginx服务器
      • 5、实际的使用方式

使用tomcat + nginx实现动静分离

什么是动静分离

  • 动静分离就是动态资源(jsp、servlet 等…)跟静态资源(js、css、img 等…)进行分离
  • 简单来说、就是将静态资源与动态资源分别部署在不同的服务器上

动态资源与静态资源的区别

  • 动态资源是在用户多次访问这个资源时,资源的内容可能会发生改变(源代码改变)
  • 静态资源是在用户多次访问这个资源时,资源的内容不会改变。

为什么要使用动静分离

  • 在项目中,有些资源是需要后端服务器进行处理的(jsp,servlet)
  • 而有些资源是不需要后端服务器进行处理的(js、css、img)
  • 而这些不需要后端服务器处理静态资源的还一直被访问,会增加后端服务器的压力
  • 为了减轻服务器的压力,所以才需要使用到动静分离

动静分离的应用场景

  • 大型互联网公司
  • 高并发场景
  • 性能优化,降低服务器压力

使用tomcat + nginx 实现动静分离的分析图

使用tomcat + nginx 实现动静分离_第1张图片

演示案例

全程在本机进行测试

在浏览器输出 www.myweb.com 能够访问到tomcat的服务器
在浏览器输出 static.myweb.com/static/custom.js 能够访问到静态的custom.js资源文件

1、配置本机的host路径文件

# 注意,这里的ip地址填写nginx服务器的地址
127.0.0.1 www.myweb.com
127.0.0.1 static.myweb.com

2、创建一个简单的springboot的web项目

  • 创建一个最简单的Controller控制器,博主的端口设置为8080

3、修改nginx的配置文件

   # 配置服务器地址
   upstream myserver {
     
       server 127.0.0.1:8080;
   }

   server {
     
        listen       80;
        server_name  www.myweb.com;

        location / {
     
            proxy_pass http://myserver;
        }
    }

    server {
     
        listen       80;
        server_name  static.myweb.com;

         location /static {
     
# 静态资源目录地址,会被拼接上location的匹配路径,/usr/local/nginx/static/
           root /usr/local/nginx/;  
           index  index.html index.htm;
       }
    }

4、启动tomcat服务器 + 启动nginx服务器

这个时候,你可以通过 http://static.myweb.com/static/资源名称 的方式来访问自己的静态资源,前提是你得有这个资源路径的目录以及静态文件。

5、实际的使用方式

这个时候怎么使用呢?你在你的动态资源服务器中,需要使用到静态资源的地方(例如html中需要引入js文件),就可以直接通过 http://static.myweb.com/static/资源名称 - 例如:http://static.myweb.com/static/custom.js 的方式获取。

你可能感兴趣的:(动静分离,nginx,tomcat,nginx,java,linux,tomcat)