文档章节

Nginx 手记(五)静态资源、gzip压缩

神奇Sam
 神奇Sam
发布于 2017/08/30 14:42
字数 659
阅读 455
收藏 0

一、相关语法

#1、文件读取 (是否使用内核传输文件)
语法:  sendfile on|off
默认值:sendfile off
上下文:http,server,location,if in location

#2、tcp_nopush
#作用:sendfile开启的情况下,提高网络包的传输效率。
#讲解:tcp_nopush on 的时候,网络包不会逐个传输,而是会累积多个一并传输,从而提高传输效率。在大文件传输的场景下,推荐打开。
语法:  tcp_nopush on|off;
默认值:tcp_nopush off;
上下文:http,server,location;

#3、tcp_nodelay
#讲解:与tcp_nopush相反,数据包不进行等待而实时性传输给用户。在要求实时性比较高的场景下,推荐打开。
语法:  tcp_nodelay on|off;
默认值:tcp_nodelay on;
上下文:http,server,location;

#4、压缩
#作用:压缩传输
语法:  gzip on|off;
默认值:gzip off;
上下文:http,server,location,if in location

#5、压缩比
语法:  gzip_comp_level level;
默认值:gzip_comp_level 1;
上下文:http,server,location

#5、控制gzip压缩 http协议的版本
语法:  gzip_http_version 1.0|1.1;
默认值:gzip_http_version 1.1;
上下文:http,server,location


#6、此模块的作用就是在接到请求后,会到url相同的路径的文件系统去找扩展名为“.gz”的文件 
#   比如:http://xxx/homepage.css nginx就会先查找 homepage.css.gz 这个文件,
#   如果存在直接把它发送出去,如果不存在,再将stylesheets/homepage.css文件进行gzip压缩,再发送出去,
#   这样可以避免重复的压缩无谓的消耗资源,这个模块不受gzip_types限制,会对所有请求有效。
#   所以建议不要在全局上使用,因为一般来说大部分都是动态请求,是不会有.gz这个文件的,建议只在局部我们确认有.gz的目录中使用。 
语法:  gzip_static on|off
默认值:gzip_static off
上下文:http,server,location

二、用例( /etc/nginx/conf.d/default.conf )

server {
    listen       80;
    server_name  localhost;

    #文件读取
    sendfile on;
    
    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /opt/site/playSports;
        index  index.html index.htm;
    }

    #匹配图片
    location ~ .*\.(jpg|gif|png)$ {
        #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/site/sam/images;
    }
    
    #匹配文档
    location ~ .*\.(txt|xml)$ {
        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/site/sam/doc;
    }

    #匹配以/download开头
    location ~ ^/download {
        #gzip_static on;
        #tcp_nopush on; #合并多个文件一次传输
        root /opt/site/sam/file;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

}
测试 gzip_static 的时候,需要先把相应的文件进行gzip压缩
[root@sam file]# gzip a.dmg 
[root@sa file]# ls
a.dmg.gz

© 著作权归作者所有

共有 人打赏支持
神奇Sam
粉丝 22
博文 41
码字总数 27998
作品 0
广州
程序员
Nginx Gzip模块启用和配置指令详解

参考一 http://www.111cn.net/sys/nginx/69492.htm 参考二 查找nginx安装的路径以及相关安装操作命令 参考三 http://blog.csdn.net/u011078940/article/details/51276765 Nginx的gzip模块是内...

james_laughing
2016/12/23
8
0
vue + webpack 前端性能优化

背景 对于程序开发者而言,开发一个项目不仅仅注重效率和功能,前端的性能问题也是非常重要的。这直接影响用户的体验,从而间接的也反应该项目质量的好坏。 影响项目性能的原因有很多,如:资...

花语_
10/17
0
0
第五章:nginx静态+代理+缓存+负载均衡详解

一、静态资源WEB服务 非服务器动态运行生成的文件 配置语法-文件读取 配置语法-tcp_noposh(sendfile开启时,提高网络传输效率) 配置语法-tcp_nodelay 配置语法-压缩 扩展Nginx压缩模块 ht...

FantJ
01/02
0
0
nginx之缓存和压缩

location /ecshop{ rewrite "goods-(d{1,7}).html" /ecshop/goods.php?id=1; } #有{}正则用“” [root@localhost nginx]# ./sbin/nginx -s stop [root@localhost nginx]# ./sbin/nginx http......

泡海椒
2016/03/04
142
0
Nginx配置gzip压缩的简单示例

本文介绍下,在nginx中配置gzip压缩的简单例子,一段核心的配置节代码,供大家参考。 在nginx中配置gzip压缩很简单,只需要几行代码即可。 使用 gzip 压缩可以降低网站带宽消耗,提升访问速度...

mysoftsky
2013/09/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

原型模式

1、原型模式-定义 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 克隆(浅度克隆->拷贝值类型或者引用,深度克隆->创建新的对象,开辟新的内存) 例如客户端知道抽象Pro...

阿元
今天
6
0
awk命令扩展使用操作

awk 中使用外部shell变量 示例1 [root@centos01 t1022]# A=888[root@centos01 t1022]# echo "" | awk -v GET_A=$A '{print GET_A}'888[root@centos01 t1022]# echo "aaaaaaaaaaaaa" | aw......

野雪球
今天
12
0
深入解析MySQL视图VIEW

Q:什么是视图?视图是干什么用的? A:视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。   通过视图,可以展现基表的部分数据;...

IT--小哥
今天
18
0
虚拟机学习之二:垃圾收集器和内存分配策略

1.对象是否可回收 1.1引用计数算法 引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时候计数器值为0的对象就是不可能...

贾峰uk
今天
12
0
smart-doc功能使用介绍

smart-doc从8月份底开始开源发布到目前为止已经迭代了几个版本。在这里非常感谢那些敢于用smart-doc去做尝试并积极提出建议的社区用户。因此决定在本博客中重要说明下smart-doc的功能,包括使...

上官胡闹
昨天
21
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部