Nginx教程(6) 动静分离架构 (转)
一、原理
Nginx 动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离。严格意义上说应该是动态请求跟静态请求分开,可以理解成使用Nginx 处理静态页面,Tomcat、 Resin 出来动态页面。动静分离从目前实现角度来讲大致分为两种,
一种是纯粹把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案;
另外一种方法就是动态跟静态文件混合在一起发布,通过 nginx 来分开。这样也是本次课程要讲解的,具体怎么来实现呢,
通过 location 指定不同的后缀名实现不同的请求转发。通过 expires 参数设置,可以使浏览器缓存过期时间,减少与服务器之前的请求和流量。具体 Expires 定义:是给一个资源设定一个过期时间,也就是说无需去服务端验证,直接通过浏览器自身确认是否过期即可,所以不会产生额外的流量。此种方法非常适合不经常变动的资源。(如果经常更新的文件,不建议使用 Expires 来缓存),我这里设置 3d,表示在这 3 天之内访问这个 URL,发送一个请求,比对服务器该文件最后更新时间没有变化,则不会从服务器抓取,返回状态码 304,如果有修改,则直接从服务器重新下载,返回状态码 200。
二、例子
在 nginx-1.13.0.tar.gz下测试
项目
 
静态文件路径
 
配置文件

 server {
        listen       80;
        server_name  a;
        location /t1
        {
        proxy_pass http://192.168.56.90:8180/t1;
        }   
        location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
        {
        root /usr/local/tomcat/apache-tomcat-7.0.70-8180/webapps/;
        expires 30d;
        }
    }

测试
访问静态文件
 
再次访问

状态为304
最后检查 Nginx 配置是否正确即可,然后测试动静分离是否成功,之需要删除后端tomcat 服务器上的某个静态文件,查看是否能访问,如果可以访问说明静态资源 nginx 直接返回了,不走后端 tomcat 服务器
转载至:https://www.cnblogs.com/crazylqy/p/7150188.html
Nginx教程(6) 动静分离架构 (转)的更多相关文章
- Nginx教程(6) 动静分离架构
		一.原理 Nginx 动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离.严格意义上说应该是动态请求跟静态请求分开,可以理解成使用Nginx 处理静态页面,To ... 
- 企业实战Nginx+Tomcat动静分离架构的技术分享
		Nginx动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离.严格意义上说应该是动态请求跟静态请求分开,可以理解成使用Nginx处理静态页面,Tomcat.Re ... 
- Nginx动静分离架构
		Nginx动静分离简单来说就将动态与静态资源分开,不能理解成只是单纯的把动态页面和静态页面物理分离,严格意义上说应该是动态请求跟静态请求分开,可以理解成使用Nginx处理静态页面,Tomcat,Res ... 
- Nginx动静分离架构&&HA-LB集群整合
		Nginx动静分离简单来说就将动态与静态资源分开,不能理解成只是单纯的把动态页面和静态页面物理分离,严格意义上说应该是动态请求跟静态请求分开,可以理解成使用Nginx处理静态页面,Tomcat,Res ... 
- Nginx+Varnish 实现动静分离,为服务器分流,降低服务器负载
		相必大家在看加快网站响应速度方面的文章时,都提过这么一条:动静分离.那怎样实现动静分离呢,这里笔者就亲自搭建相关服务实现动静分离. 动静分离是一种架构,就是把静态文件,比如JS.CSS.图片甚至有些静 ... 
- HAProxy(三):Keeplived+HAProxy搭建高可用负载均衡动静分离架构基础配置示例
		一.安装环境 1.软件版本 HAProxy:1.5.18 Keepalived:1.3.5 Nginx:1.12.2 PHP:7.2 系统版本:CentOS 7.4 2.IP分配与架构图 3.安装软件 ... 
- 【Nginx】实现动静分离
		一.概述 1.1 动态页面与静态页面区别 1.2 什么是动静分离 1.3 为什么要用动静分离 二.Nginx实现动静分离 2.1 架构分析 2.2 配置 三.动静分离与前后分离区别: 四.一些问题 一 ... 
- SpringBoot 2.0整合阿里云OSS,实现动静分离架构
		前言 相信大部分开发者对下面这张架构图并不陌生吧,现在很多网站/应用都采用了动静分离的架构进行部署.博主的博客也不例外,主机采用的是阿里云的 ECS,使用 CDN 做静态内容分发,不过静态文件还是存储 ... 
- Nginx配置实例-动静分离实例:搭建静态资源服务器
		场景 Nginx入门简介和反向代理.负载均衡.动静分离理解: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102790862 U ... 
随机推荐
- JS中对象转数组方法总结
			1.Array.from() 方法,用于数组的浅拷贝.就是将一个类数组对象或者可遍历对象转换成一个真正的数组.eg: let obj = { 0: 'nihao', 1: 'haha', 2: 'ga ... 
- 微信小程序——页面滑动事件
			wxml: <view id="id" class = "ball" bindtap = "handletap" bindtouchs ... 
- C++星号的含义
			[转载] [http://blog.sina.com.cn/s/blog_4a50d85b0100uk3c.html] 1.乘法运算符 2.定义指针 int *p = 0; 还是 int* p ... 
- 软件-SecureCRT:SecureCRT
			ylbtech-软件-SecureCRT:SecureCRT SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件 ... 
- java求1000以内的水仙花数
			水仙花数是指一个 n 位数 ( n>=3 ),它的每个位上的数字的 n 次幂之和等于它本身.(例如:1^3 + 5^3 + 3^3 = 153) 三位的水仙花数共有4个,分别为:153.370. ... 
- 使用MySQL会话变量实现窗口函数
			一.MySQL窗口函数 (1) 序号函数 row_number()在相等的两条记录上随机排序,但序号按照1.2递增,然后后面的序号继续递增为3,中间不会产生序号间隙: rank()/dense_ran ... 
- Winform 分页
			1.图列展示 2.分页控件代码 Paging.Designer.cs partial class Paging { /// <summary> /// 必需的设计器变量. /// < ... 
- bzoj 1093 [ZJOI2007]最大半连通子图——缩点+拓扑
			题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1093 缩点+拓扑,更新长度的时候维护方案数. 结果没想到处理缩点后的重边,这样的话方案数会算 ... 
- bzoj 1123 [POI2008]BLO——点双连通分量
			题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1123 点双连通分量缩点,然后各种各样. 结果不会写了.比如新连边.记录一个点是割点缩成的点还 ... 
- Python缩进和选择
			Python缩进和选择 缩进 Python最具特色的是用缩进来标明成块的代码.我下面以if选择结构来举例.if后面跟随条件,如果条件成立,则执行归属于if的一个代码块. 先看C语言的表达方式(注意,这 ... 
