pyList

在SAE Python上开启gzip的方法

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

gzip压缩

开启tornado 自带的gzip 功能

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

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 文件里加):

压缩

    - compress: if (single_express) compress

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

例如:

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

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

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

本文标签: SAE Python gzip 开启 方法
本文网址: https://pylist.com/t/1323509926 (转载注明出处)
如果你有任何建议或疑问可以在下面 留言
发表第一条评论!
验证码图片
相关推荐