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
相关推荐
长沙红胖子Qt9 分钟前
关于 sourceTree桥接管理远端svn仓库出现git时区差8小时无法同步 的解决方法
git·svn·时间差·8小时
weelinking10 分钟前
2026年三大主流大模型深度对比:GPT-5.5、Claude 4.6与DeepSeek V4谁更值得选择?
java·大数据·人工智能·git·python·gpt·github
木雷坞17 分钟前
Nginx Proxy Manager 反代 502 排查:Docker 网络、容器端口和上游地址
网络·nginx·docker
义龙陳序员18 分钟前
Nginx 修改默认错误页面:实现带 CSS 动画的自定义错误页
运维·css·nginx·nginx源码
爱上纯净的蓝天9 小时前
Git 入门完全指南:从安装到第一次开源贡献
git·开源
小陈同学,,9 小时前
如何切换git仓库
git
OYangxf13 小时前
Git Commit Message
运维·git
芯有所享13 小时前
【芯片设计中的版本管理:Git与SVN的实战选择指南】
经验分享·git·svn
开发者联盟league13 小时前
解决git报错 filename too long
git
jian1105814 小时前
android studiod git在git reset origin/main以后,会有删了又新建的导包问题
git