• Nginx学习笔记08——Nginx动静分离


    什么是动静分离

    在生成页面的时候,Nginx会代理Tomcat服务器,将动态请求转发给Tomcat服务器,在Tomcat服务器上某一目录下找到html文件,加载到页面上,在html文件中,还会访问很多静态资源,如js、css、img等,这些静态资源我们会放在Nginx服务器上,也就是Tomcat上是没有的,直接从Nginx中拿出来就行,这就是动静分离。

    前期准备

    从上面的描述上来看,我们需要使用到两台虚拟机,目前我们是有4台虚拟机,从中选择两台就好了,那就CentOS7-1作为Nginx服务器,CentOS7-2作为Tomcat服务器好了
    在这里插入图片描述
    此时我们的CentOS7-2是没有安装Tomcat的,不要慌,我已经写好了一篇Linux上安装Tomcat和JDK的教程了
    教程地址:在Linux上安装部署JDK和Tomcat(超级详细)

    成功将CentOS7-2安装Tomcat后,我们还缺少一个项目,这个项目中包括了html文件和一些静态资源,我这里也准备了一个项目,其中包括了js、img、css这些静态资源和html文件。
    网盘链接:
    https://pan.baidu.com/s/1Pbh-G9Q92hu5nVsJCb_1jA
    提取码:wagi
    下载完毕后里面有两个文件,用ROOT.rar就可以了,上面那个jsp之后也会用到
    在这里插入图片描述
    在ROOT中,包括了index.html、css、img、js、topimg这些,其中css、img、js、topimg都是静态资源(topimg里面也是img),我们这些静态资源将会放到Nginx服务器上,html文件会放在tomcat服务器上
    在这里插入图片描述

    动静分离的基本配置

    使用centos7-2作为tomcat服务器,centos7-1作为nginx服务器
    在这里插入图片描述

    topimg、js、img、css都是静态资源,index.html会加载这些静态资源,现在这些资源都在tomcat中的wedapps/ROOT目录中(刚安装的tomcat这个目录下有东西,全部删除就行)
    在这里插入图片描述
    我们来启动tocmat看看效果startup.sh
    在这里插入图片描述
    浏览器地址栏输入ip地址:8080(8080是tomcat的端口号),成功加载了这些静态资源
    在这里插入图片描述
    删除tomcat服务器上的所有静态资源,只保留index.html
    在这里插入图片描述
    重启tomcat服务器并访问,发现静态资源已经访问不到了
    在这里插入图片描述
    将静态资源全部转移到/usr/local/nginx/html目录下
    在这里插入图片描述
    编辑nginx服务器的配置文件,增加几个location,分别对应相应的静态资源,最后使用proxy_pass反向代理到tomcat服务器
    在这里插入图片描述
    启动nginx服务器
    在这里插入图片描述
    浏览器地址栏输入nginx服务器的ip地址,发现成功加载静态资源,并且代理了tomcat服务器
    在这里插入图片描述
    随便找一张图片在新标签页打开,发现是由nginx服务器代理加载的
    在这里插入图片描述

    使用正则配置动静分离

    修改Nginx服务器的配置文件,使用正则表达式配置location,这样img、css、js、topimg都可以找到
    在这里插入图片描述
    重启nginx服务器,在浏览器上输入nginx的ip地址,也可以加载到静态资源
    在这里插入图片描述

  • 相关阅读:
    数据结构与算法
    TCP select 轮询服务器
    原码、反码、补码 、位段
    Git 的基本使用(笔记)
    Java基础:Java面向对象
    MySQL_01_概述
    PADS自己画的封装,导入PCB没有元件标签?
    (附源码)ssm旅游公司网站 毕业设计 201105
    Linux权限
    Linux 命令个人学习笔记
  • 原文地址:https://blog.csdn.net/weixin_46116099/article/details/125410422