nginx下配置静态GZIP支持

对于web应用中,为了有良好的体验,对代码的压缩是很多站点必做的事情,特别是对于页面中用到的核心库代码的压缩(往往这些代码平时是很少修改的,如jquery的核心包,extjs的核心库ext-all.js),当然像这些代码他本身有压缩,但这种压缩对于我们来说还是不够的,如ext3.0的核心包,普通压缩以后都还有700K,这样的一个包对于高数据量访问的网站来说,占用的带宽的惊人的!但如果能把一个700k的包压缩到200K,那是不是节省了很大的带宽,对于运营网站的这省下来的就是RMB啊!上面都的闲话,下面说怎么配置:

1。GZIP 压缩工具压缩你的文件,你可以把你的文件压缩成.gz或其他扩展名都可以,gzip怎么用自己找,我给个命令行代码参考 c:>gzip.exe -c ext-all.js > ext.gz
2。配置nginx服务器,找到nginx的配置文件 nginx.conf 在文件中添加下面这段:

location ~ \.gz$ {
//服务器所在的目录,这个一定要填,我之前弄了半天没弄好就是因为没填这个
root c:/AppServ/www;
//给所有的 gz文件添加 Content-Encoding头为GZIP,其实也就是告诉浏览器,我这个是压缩文件,你收到了要帮我解压哦
add_header Content-Encoding gzip;
}

3。重启nginx,测试,把页面中对ext-all的是引用改为压缩后的ext.gz ,看看对这个文件的请求头,返回的是不是 Content-Encoding gzip,这就对了!

4。我个人的习惯的针对不同的文件类型压缩的文件名不一样,对于JS的压缩,我习惯以.gzjs结尾,对于css 以.gzcss,怎样我们就可以在nginx的mime.types中直接设置这些文件的mime类型了

application/x-javascript gzjs;
text/css gzcss;

这样设置之后你会感觉比不设置的响应速度明显要快,没设置的情况下服务器默认为下载的文件,所以在请求中我们是看不到响应内容的!

在网上找了很多配置的,但没有一个的配置能让我跑起来的,有些同学整得很复杂,结果我搞下来还是不行,还是这最简单的代码最使用,还有的没有指定root,所以也没跑起来,本人对nginx不熟练,先记下来,免得下次又忘记了!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值