`
inosin
  • 浏览: 89849 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Nginx中gzip_static模块的使用

阅读更多
在nginx中打开gzip压缩:
   gzip  on;
   gzip_min_length  1024;
   gzip_buffers     4 8k;
   gzip_types       text/plain application/x-javascript text/css text/html application/xml;

一般情况,需要设置一下gzip_min_length的值,建议设置成大于1k的字节数,小于1k可能会越压越大。 即: gzip_min_length 1024
gzip_types:匹配MIME类型进行压缩,(无论是否指定)"text/html"类型总是会被压缩的。

另外nginx还提供了一个static_gzip模块,若要使用它需要在编译的时候把static_gzip模块编译进去:
./configure --with-http_gzip_static_module

此模块的作用就是在接到请求后,会到url相同的路径的文件系统去找扩展名为“.gz”的文件
比如:http://www.iteye.com/stylesheets/homepage.css
nginx就会先查找 stylesheets/homepage.css.gz 这个文件,如果存在直接把它发送出去,如果不存在,再将stylesheets/homepage.css文件进行gzip压缩,再发送出去,这样可以避免重复的压缩无谓的消耗资源,这个模块不受gzip_types限制,会对所有请求有效。所以建议不要在全局上使用,因为一般来说大部分都是动态请求,是不会有.gz这个文件的,建议只在局部我们确认有.gz的目录中使用。
Nginx不会自动的将压缩结果写入文件系统,这点不同于lighttpd,所以如果想使用static_gzip模块,需要自己写脚本生成.gz文件。
而对于Rails3项目来说就很方便了,只需要针对assets目录启用gzip_static模块即可:
location ~ ^/(assets)/  {
  root /path/to/public;
  gzip_static on; # to serve pre-gzipped version
  expires max;
  add_header Cache-Control public;
}


分享到:
评论

相关推荐

    Openresty_For_Windows_1.7.10.zip

    Nginx Openresty For Windows (NOW) 是带有 Openresty 的 Windows 版本中的 Nginx。 它有一些特点: 高性能 并发两万多个连接 多进程 支持共享内存 支持udp代理 与 nginx 原始版本相比修复的各种错误 它已符合...

    Nginx企业级高性能通用配置文件-注释版-支持防刷限流、控并发、HTTP2、防XSS、OCSP Stapling、负载、SSL

    依赖模块: configure arguments: --prefix=/usr/local/nginx --with-...gzip_static_module --with-http_dav_module --with-http_flv_module

    nginx 入门到进阶的教程.pdf

    介绍 安装 1. 基本介绍和配置文件语法 2. 反向代理 ...14. gzip static 模块探索 15. 安装最新 nginx 的另类方法 16. 使用 acme.sh 安装 Let’ s Encrypt 提供的免费 SSL 证书 17. 给 GitLab 应用加上 https

    实战nginx-张宴

    14.4 HTTP Gzip Static模块 14.5 HTTP Random Index模块 14.6 HTTP Geo IP模块 14.7 HTTP RealIp模块 14.8 HTTP SSL模块 14.9 HTTP Stub Status模块 14.9.1 stub_status指令 14.10 HTTP Sub模块 14.11 HTTP Dav模块 ...

    实战Nginx.取代Apache的高性能Web服务器

    14.4 Http Gzip Static模块 14.5 Http Random Index模块 14.6 Http Geo IP模块 14.7 Http RealIp模块 14.8 Http SSL模块 14.9 Http Stub Status模块 14.10 Http Sub模块 14.11 Http Dav模块 14.12 Google ...

    实战Nginx:取代Apache的高性能Web服务器 第一章

    14.4 Http Gzip Static模块 14.5 Http Random Index模块 14.6 Http Geo IP模块 14.7 Http RealIp模块 14.8 Http SSL模块 14.9 Http Stub Status模块 14.10 Http Sub模块 14.11 Http Dav模块 14.12 Google Perftools...

    nginx-cdn:CentOS一键安装Nginx

    XCDNCentOS一键安装Nginx环境要求CentOS 6/7当前版本nginx/1.18已编译模块--with-stream--with-...

    Nginx服务器实现数据静态压缩的方法

    nginx实现静态压缩这种做法其实就像apache gzip压缩了,这种压缩是我们常见的一些事情了,下面我来介绍...这里面主要是没有启动ngnix 的静态缓存模块(ngx_http_gzip_static_module)导致。 打开静态缓存问题就解决了 1

    static-nginx

    使用 docker 容器编译生产就绪的静态链接 nginx 的脚本。 生成的二进制文件在 bintray 上可用,非常适合包含在小型(例如,基于busybox 的)docker 容器中。 二进制文件包括以下模块: 模组安全 安全证书 SPDY ...

    vue打包静态资源后显示空白及static文件路径报错的解决

    1、记得改一下config下面的index.js中bulid模块导出的路径。因为打包后的index.html里边的内容都是通过script标签引入的,默认显示的路径不对,打开肯定是空白的。 build: { index: path.resolve(__dirname, '../...

Global site tag (gtag.js) - Google Analytics