一、静态资源WEB服务

1、静态资源类型:非服务器动态运行生成的文件

2、静态资源服务场景-CDN

假设静态资源存储中心在云南,用户在北京去请求一个文件,那么就会造成一个传输的延时,而如果Nginx同一把静态资源提前分发给各地区的代理,而各地区的用户直接访问本地区代理的静态资源,延时就会非常小,可以忽略不计

这里为了方便区分,把之前的auth_mod.conf 配置名改为static_server.conf

3、配置语法 :

- 文件读取(除了sendfile方式外,Nginx还有--with-file-aio 异步文件读取)

配置语法:sendfile on | off;
默认状态:sendfile off;
配置方法:http、server、location、if in location

-tcp_nopush作用:sendfile开启的情况下,提高网络包的传输效率

配置语法:tcp_nopush on | off;
默认状态:tcp_nopush off;
配置方法:http、server、location

-tcp_nodelay作用:keepalive连接(长连接)下,提高网络包的传输实时性
配置语法:tcp_nodelay on | off;
默认状态:tcp_nodelay off;
配置方法:http、server、location

压缩传输:

压缩:

配置语法:gzip on | off;
默认状态:gzip off;
配置方法:http、server、location、if in location

压缩比:

配置语法:gzip_comp_level level;
默认状态:gzip_comp_level 1;
配置方法:http、server、location

控制http协议版本

配置语法:gzip_http_version 1.0 | 1.1;
默认状态:gzip_http_version 1.1;
配置方法:http、server、location

扩展Nginx压缩模块
http_gzip_static_module:预读gzip功能
http_gunzip_module:应用支持gunzip的压缩方式

配置:

准备一张png图片,放到/opt/app/code/images下面

把原来的location改成关于图片的location:

location ~ .*\.(jpg|gif|png)$ {
# 访问的url是以jpg、gif、png结尾的,就走这个location
#gzip on;
#gzip_http_version 1.1;
#gzip_comp_level 2;
#gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
root /opt/app/code/images;
}

检查配置语法,并重启

nginx -tc /etc/nginx/nginx.conf
nginx -s reload -c /etc/nginx/nginx.conf

用谷歌访问抓包

把gzip打开,检查配置后重启再访问

准备一个txt格式的文件,放到/opt/app/code/doc下面

增加一个关于文本 的location

location ~ .*\.(txt|xml)$ {
# 访问的url是以txt、xml结尾的,就走这个location
#gzip on;
#gzip_http_version 1.1;
#gzip_comp_level 1;
#gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
root /opt/app/code/doc;
}

检查配置语法,并重启

nginx -tc /etc/nginx/nginx.conf 
nginx -s reload -c /etc/nginx/nginx.conf

访问

把配置里面的gzip注释打开

检查配置语法,重启

再次访问

把之前的test.txt文件上传到/opt/app/code/download目录下

使用gzip命令压缩

在配置文件中加一个location:

location ~ ^/download {
# 访问的url是以download开头的,就走这个location
#gzip_static on;
tcp_nopush on;
root /opt/app/code;
}

检查配置并重启

访问会报404

因为刚刚压缩的时候,test.txt文件已经被删除了,剩下的是test.txt.gz文件,所以正确的url应该是:http://192.168.1.141/download/test.txt.gz

但是正常情况下,不可能去要求用户在url后面去加.gz,所以,去配置文件,把配置打开

检查配置并重启

再次访问

Nginx详解十:Nginx场景实践篇之Nginx静态资源场景配置的更多相关文章

  1. Nginx详解十六:Nginx场景实践篇之缓存服务

    缓存类型: 服务端缓存 代理缓存 客户端缓存 Nginx代理缓存 配置语法 使用之前需要先定义一个proxy_cache_path配置语法:proxy_cache_path path [levels= ...

  2. Nginx详解十五:Nginx场景实践篇之负载均衡

    负载均衡 GSLB(全局的负载均衡,往往是以国家为单位,或者以省为单位) SLB Nginx就是一个典型的SLB模型, 分为四层负载均衡和七层负载均衡 七层负载均衡可以处理应用层,如thhp信息,Ng ...

  3. Nginx详解十四:Nginx场景实践篇之代理服务

    代理的作用 Nginx代理 正向代理 反向代理 正向代理和反向代理的区别:代理的对象不一样 正向代理代理的对象是客户端,反向代理代理的对象是服务端 反向代理: 配置语法:proxy_pass URL; ...

  4. Nginx详解十二:Nginx场景实践篇之跨站访问相关

    跨站访问 浏览器请求一个页面的时候,发送了两个域名的请求 此情况不安全,容易出现CSRF攻击,所以浏览器禁止跨域访问 Nginx设置打开跨站访问 配置语法:add_header name value ...

  5. Nginx详解十九:Nginx深度学习篇之进阶高级模块

    这里介绍一些最新或者理解起来有一些难度的Nginx模块 一.secure_link_module模块作用原理:1.制定并允许检查请求的链接的真实性以及保护资源免遭未经授权的访问2.限制链接生效周期 配 ...

  6. Nginx详解十八:Nginx深度学习篇之Rewrite规则

    Rewrite规则可以实现对url的重写,以及重定向 作用场景: 1.URL访问跳转,支持开发设计,如页面跳转,兼容性支持,展示效果等 2.SEO优化 3.维护:后台维护.流量转发等 4.安全 配置语 ...

  7. Web服务器之Nginx详解(理论部分)

    大纲 一.前言 二.Web服务器提供服务的方式 三.多进程.多线程.异步模式的对比 四.Web 服务请求过程 五.Linux I/O 模型 六.Linux I/O 模型具体说明 七.Linux I/O ...

  8. 【转】Web服务器之Nginx详解(理论部分)

    大纲 一.前言 二.Web服务器提供服务的方式 三.多进程.多线程.异步模式的对比 四.Web 服务请求过程 五.Linux I/O 模型 六.Linux I/O 模型具体说明 七.Linux I/O ...

  9. (转)windows 下安装配置 Nginx 详解

    windows 下安装配置 Nginx 详解 本文转自https://blog.csdn.net/kingscoming/article/details/79042874 nginx功能之一可以启动一 ...

随机推荐

  1. Git坑点——remote: error: GH007: Your push would publish a private email address.

    使用命令:git push -u origin master   ,把本地库的内容推送到远程库的过程中,出现了问题 ——remote: error: GH007: Your push would pu ...

  2. CSL 的字符串(单调栈)

    题目链接:https://ac.nowcoder.com/acm/contest/551/D 题目大意: 题目描述 CSL 以前不会字符串算法,经过一年的训练,他还是不会……于是他打算向你求助. 给定 ...

  3. mysql 原理 ~ LRU 算法与buffer_pool

    一 简介:针对查询和事务的页在内存中的处理,是如何进行的 二 LRU算法 普通 : 实现的是末尾淘汰法,当整个链表已满时,淘汰尾部,将新的数据页加入头部 mysql_lru改进 : 分为两部分 yan ...

  4. eclipse快捷键调试总结 -转--快捷键大全

    (1)Ctrl+M --切换窗口的大小(2)Ctrl+Q --跳到最后一次的编辑处(3)F2      ---重命名类名 工程名 --当鼠标放在一个标记处出现Tooltip时候按F2则把鼠标移开时To ...

  5. Zookeeper环境搭建

    zookeeper支持windows.linux.mac等操作系统,其搭建方式也有集群.伪集群.单机环境.下面研究三种方式的搭建. 单机环境:windows操作系统 伪集群:windows 集群:li ...

  6. telegram即时通信软件和outline ---- by 余弦 by倾旋

    第一次遇到它 是在余弦的圈子里发现的tele推送,他当时关键部分说的极其少,就三个字,你懂的..看完以后,我想哭.我真的不懂.. 我是如何突破这个术语的 近期,随着信息源的增多.(收集了大量的可靠公众 ...

  7. 【转】python编写规范——中标软件有限公司测试中心

    [转]python编写规范 一.说明 二.内容 1. 代码布局 1.1 缩进 1.2 表达式和语句中的空格 1.3 行的最大长度 1.4 空行... 1.5 编码... 2. 语句... 2.1 标准 ...

  8. Nginx 测试环境配置,留作笔记使用

    Nginx 测试环境配置,留做笔记 以下全是配置文件的配置,如果有疑问还请移步Nginx官网参考官方文档. 环境: [root@CentOS6-M01 conf]# cat /etc/redhat-r ...

  9. 构建高性能WEB站点之 吞吐率、吞吐量、TPS、性能测试

    内容参考: 构建高性能WEB站点.pdf 一.吞吐率 我们一般使用单位时间内服务器处理的请求数来描述其并发处理能力.称之为吞吐率(Throughput),单位是 “req/s”.吞吐率特指Web服务器 ...

  10. OpenStack实践系列⑤网络服务Neutron

    OpenStack实践系列⑤网络服务Neutron 3.8 Neturn 服务部署 注册neutron服务 [root@node1 ~]# source admin-openrc.sh [root@n ...