在SAE Python上开启gzip的方法

开启 gzip 的作用自不必说,可以省很多流出带宽,可以省很多云豆。昨天这个博客的云豆消耗,其中流出带宽就占九成多,开启后就会只占五成多。

gzip压缩

开启tornado 自带的gzip 功能

在 SAE 上开启 gzip 的过程还费了不少周折,首先是从 tornado 框架自带的设置来指定开启gzip压缩:

1
2
3
4
5
6
7
settings = { 
'gzip': True, 
} 

app = tornado.wsgi.WSGIApplication(urls, **settings) 

application = sae.create_wsgi_app(app) 

没搞定!

直接添加头 Content-Encoding: gzip

结果运行不了,出现未知错误

在config.yaml 里指定开启压缩

后来看看官方AppConfig 服务文档,按照里面的方法试一下,还有效了,终于看到输出里面有 Content-Encoding: gzip 头了。原来是因为SAE Python 环境在调试,也就没关注PHP那边的文档。

方法如下(在 config.yaml 文件里加):

压缩

1
- compress: if (single_express) compress

compresssingle_express 表示单一的表达式,不能用 && 做复合,in_header,out_header,path 都可以出现在 single_express

例如:

1
2
3
- compress: if(out_header["Content-Length"] >= 10240) compress
    - compress: if(in_header["Referer"] == "gphone") compress
    - compress: if(path ~ "/big/") compress

这里是一个 config.yaml 配置示例

到此已成功在 SAE python 环境里启用 gzip 压缩。

本文网址: https://pylist.com/topic/5.html 转摘请注明来源

Suggested Topics

SAE+python+Tornado+pyTenjin 的完整示例

python 简单易懂,Tornado 高效易学,pyTenjin 轻巧快速,SAE 安全稳定使用门槛低。现在把他们结合在一起做了一个可运行在SAE 上的完整示例。...

Leave a Comment