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
相关推荐
jstart千语2 小时前
【Git】连接github时的疑难杂症(DNS解析失败)
git·github
工具罗某人3 小时前
TortoiseGit使用图解
git
Zhuai-行淮3 小时前
vscode和git 踩坑
ide·git·vscode
fxshy4 小时前
ai聊天流式响应,阻塞式和流式响应 nginx遇到的坑
运维·javascript·nginx
这颗橘子不太甜QAQ4 小时前
Husky使用技巧
javascript·git·代码规范
fanTuanye4 小时前
Git基本使用(很详细)
git·github
忍者扔飞镖5 小时前
git
git
李菠菜6 小时前
解决Windows系统下Git克隆时报错“unable to checkout working tree”的方法详解
windows·git
island13146 小时前
【git#4】分支管理 -- 知识补充
大数据·git·elasticsearch
船长@Quant8 小时前
协作开发攻略:Git全面使用指南 — 引言
git·版本控制·源代码管理·协作开发