zoukankan      html  css  js  c++  java
  • nginx gzip 静态文件压缩

    http://www.lockice.com/blog/2010/03/nginx-gzip-static-commpress.html

    nginx gzip 静态文件压缩

    nginx gzip 静态文件压缩能很大程度上提高网站的访问速度,但是文件的压缩会占用很大的内存,如果将网站的静态的文件提前用gzip压缩后再配置nginx的rewrite规则来转向到压缩后的文件将会对网站的性能有很大的提高。

    思路,把静态文件用gzip压缩后放在网站的目录下,然后用rewrite把请求转发到压缩后的文件,并增加add_header Content-Encoding gzip;这都很容易理解,但是Content-Type的设置就不是那么好搞的了。common.js压缩后是common.js.gz,转发到.gz文件就好了。

    第一次接触nginx对它的配置不是很熟悉,最初在location段增加add_header Content-Type原本认为可以了,但是查看页面传输信息里会有两个Content-Type,一个为新增加的那个,一个为http段的default_type。

    nginx返回两个Content-Type于是我把add_header Content-Type 去掉,在mime.types中增加一个mime类型,增加一个jsgz mime类型并把压缩后的文件更名为common.js.jsgz。转发到.jsgz文件就好了。这样设置可以了但是我总感觉不爽,多增加了几个mime类型。

    最终解决方法在location段增加default_type设置,配置如下:

    location ~ .*\.(js)?$

    {

    expires 30d;

    default_type application/x-javascript;

    if ($http_accept_encoding ~ “gzip”){

    set $rule_0 1$rule_0;

    }

    if (-f $request_filename.gz){

    set $rule_0 2$rule_0;

    }

    if ($rule_0 = “21″) {

    add_header Vary Accept-Encoding;

    add_header Content-Encoding gzip;

    gzip off;

    rewrite (.*) $1.gz break;

    }

    }

    标签: nginx

  • 相关阅读:
    受脑认知和神经科学启发的人工智能
    1分钟爱上管理学
    刻意练习
    课题设计相关
    销售必备心灵鸡汤(转)
    从优秀到卓越
    小记
    何谓成熟?
    三体运动的程序模拟
    行星运动轨迹的程序实现
  • 原文地址:https://www.cnblogs.com/lexus/p/1818809.html
Copyright © 2011-2022 走看看