首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在带有cherrypy的瓶子中启用gzip压缩

如何在带有cherrypy的瓶子中启用gzip压缩
EN

Stack Overflow用户
提问于 2014-04-06 09:50:17
回答 2查看 2K关注 0票数 2

瓶文档说:

..。根据瓶子项目的建议,Gzip压缩最好由运行在WSGI服务器上的瓶子来处理。像cherrypy这样的WSGI服务器提供了一个GzipFilter中间件,可以用来实现这一点。

目前,我正在运行我的瓶子服务器:

代码语言:javascript
复制
app.run(host='...', port=8080, server='cherrypy')

我如何告诉cherrypy使用gzip压缩?

我可以获得像这样的cherrypy服务器对象,但我仍然无法找到如何启用gzip:

代码语言:javascript
复制
class CherryPyGzip(ServerAdapter):
  def run(self, handler): 
    from cherrypy import wsgiserver
    server = wsgiserver.CherryPyWSGIServer((self.host, self.port), handler)

    # enable gzip here somehow?

    try:
      server.start()
    finally:
      server.stop()

app.run(host='...', port=8080, server=CherryPyGzip)
EN

回答 2

Stack Overflow用户

发布于 2014-04-07 23:00:42

CherryPy有Gzip工具,但它只适用于CherryPy本地应用程序。因此,您需要使用第三方Gzip WSGI中间件(wsgigzip仅用作示例,我不知道哪个中间件工作得最好):

代码语言:javascript
复制
import cherrypy
import wsgigzip


application = wsgigzip.GzipMiddleware(bottle.default_app())

cherrypy.config.update({'server.socket_host': "0.0.0.0",
                        'server.socket_port': 8080})
cherrypy.tree.graft(application, "/")
cherrypy.engine.start()
cherrypy.engine.block()

或者更好的是,使用uWSGI作为服务器,除了许多其他伟大的特性外,还可以使用可以做gzip

票数 4
EN

Stack Overflow用户

发布于 2014-04-06 15:58:43

在黑暗中尝试一下(因为我不熟悉CherryPy):把它放到有"enable这里“注释的地方。

代码语言:javascript
复制
cherrypy.config.update({'tools.gzip.on': True})

(灵感来源于.)

运气好吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22892388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档