nginx配置实例-动静分离

一、什么是动静分离?

Nginx动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离。严格意义上说应该是动态请求跟静态请求分开,可以理解成使用Nginx处理静态页面,Tomcat处理动态页面,动静分离从目前实现角度来讲大致分为两种:

  1. 纯粹把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案
  2. 动态跟静态文件混合在一起发布,通过nginx来分开

通过location指定不同的后缀名实现不同的请求转发,通过expires参数设置,可以使浏览器缓存过期时间,减少与服务器之间的请求和流量,具体Expires定义:是给一个资源设定一个过期时间,也就是说无需去服务端验证,直接通过浏览器自身确认是否过期即可,所以不会产生额外的流量。此种方法非常适合不经常变动的资源。(如果经常更新的文件,不建议使用Expires来缓存),我这里设置3d,表示在这3天之内访问这个URL,发送一个请求,对比服务器该文件最后更新时间没有变化,则不会从服务器抓取,返回状态码304,如果有修改,则直接从服务器重新下载,返回状态码200。

二、准备工作

  1. 在linux系统中准备静态资源,用于进行访问

在根目录下创建data1目录,然后在data1目录下创建html和image文件夹,在image文件夹下随便上传一个图片,在html文件夹中创建a.html,并添加如下内容:

c 复制代码
<h1> test html </h1>
  1. 更改nginx配置文件

启动nginx或者重新加载nginx

三、测试

  1. 浏览器输入地址
c 复制代码
http://192.168.206.128/image/hzw.jpg
  1. 在浏览器地址栏输入地址:
c 复制代码
http://192.168.206.128/html/a.html
相关推荐
DKPT8 分钟前
Git 的基本概念和使用方式
git
Winston Wood3 小时前
一文了解git TAG
git·版本控制
喵喵先森4 小时前
Git 的基本概念和使用方式
git·源代码管理
xianwu5435 小时前
反向代理模块
linux·开发语言·网络·git
ajsbxi7 小时前
苍穹外卖学习记录
java·笔记·后端·学习·nginx·spring·servlet
binishuaio7 小时前
Java 第11天 (git版本控制器基础用法)
java·开发语言·git
会发光的猪。8 小时前
如何在vscode中安装git详细新手教程
前端·ide·git·vscode
stewie610 小时前
在IDEA中使用Git
java·git
晓理紫18 小时前
使用git lfs向huggingface提交较大的数据或者权重
git
我不是程序猿儿20 小时前
【GIT】sourceTree的“当前分支“,“合并分支“与“检出分支的区别
git