跳转到主要内容

控制Plone站点的缓存

项目描述

简介

CacheFu通过结合内存、代理和浏览器缓存来透明地加速Plone站点。可以单独使用或与Squid、Varnish和/或Apache一起使用。一旦安装,您的站点应该运行得更快(单独使用时大约快10倍,与Squid一起使用时大约快50倍)。

CacheFu是一组产品和配方。核心产品是Products.CacheSetup,当通过easy_install或buildout安装时,将负责从捆绑包中拉取其余产品。

完整的捆绑包包括

其他可选组件包括一些Squid、Varnish和Apache配置助手。有关更多信息,请参阅安装说明。

有关发布的最新信息可以在http://plone.org/products/cachefu找到

CacheFu已在Plone 2.5+和Plone 3.0上进行了测试。对于更早的Plone版本,请尝试使用CacheFu 1.0.3捆绑包。

Products.CacheSetup 安装

Products.CacheSetup是旧CacheSetup产品的python egg版本。egg版本会自动处理安装组成CacheFu捆绑包的所有依赖项。但是,代理缓存配置必须单独下载和配置。

以下“手册”中的引用指的是新CacheFu手册,该手册即将完成。有关最新说明,请访问官方CacheFu网站http://plone.org/products/cachefu

安装有三种选项,然后是一些安装后的步骤

(1) 全局安装

使用传统的Zope 2实例将Products.CacheSetup安装到全局Python环境(或workingenv)中

(2) 本地安装(标准buildout安装)

如果您使用zc.buildoutplone.recipe.zope2instance食谱来管理项目,则将Products.CacheSetup安装到本地zope实例中

  • Products.CacheSetup添加到要安装的eggs列表中

    [buildout]
    ...
    eggs =
        ...
        Products.CacheSetup
  • 重新运行buildout

    $ ./bin/buildout

(3) 本地安装(旧式Product安装)

因为其顶级Python命名空间包称为Products,因此此包还可以作为旧式Zope 2 Product安装到Zope 2中。

对于旧式Product安装,将此项目(Products.CacheSetup/Products/CacheSetup)的CacheSetup文件夹移动(或创建符号链接)到Zope实例的Products目录中,并重新启动服务器。

注意,在这种情况下,依赖项不会自动安装,因此您将不得不为CacheFu捆绑包的其余部分重复此过程:Products.CMFSquidToolProducts.PageCacheManagerProducts.PolicyHTTPCacheManager

安装后步骤

如果是第一次安装

  • 启动Zope后,通过Plone的“添加/删除产品”页面安装CacheSetup产品

  • 可选:通过“缓存配置工具”进行配置(参见手册中的“配置CacheFu”)

  • 可选:安装和配置Squid或Varnish(见下文)

如果是从1.2版本之前的版本升级

  • 从实例的Products目录中删除上一个版本。 CacheSetupCMFSquidToolPageCacheManagerPolicyHTTPCacheManager都已由Products.CacheSetupProducts.CMFSquidTool等替换。如果CacheFu之前通过plone.recipe.distros安装到buildout中,则从本节中删除旧的CacheFu设置并重新运行buildout。

  • 重新启动Zope

  • 在Plone的“添加/删除产品”页面中点击CacheSetup产品旁边的重新安装链接

  • 注意:重新安装将保持您的旧预1.1配置在名为“旧缓存策略”的缓存策略中。任何与新的冲突的缓存策略id都将被备份并适当重新标记

  • 可选:通过“缓存配置工具”进行配置(参见手册中的“配置CacheFu”)

  • 可选:安装和配置Squid或Varnish(见下文)

  • 重要:从CacheFu的预1.0版本没有升级路径。在这种情况下,应通过Plone的“添加/删除产品”页面完全卸载旧的CacheFu产品,然后从实例的Products目录中删除它们,然后再安装新版本。

代理缓存安装和配置

可用于构建和配置Squid、Varnish和Apache的buildout食谱可用

以前,CacheFu捆绑包还包括一组自动生成的Squid、Varnish和Apache的代理配置。从版本1.2开始,此集合现在作为单独的下载维护,可在http://plone.org/products/cachefu找到

变更日志

当前CacheFu版本的变更日志。有关此版本之前更改的历史,请参阅docs/HISTORY.txt

1.2.1 - 发布于2009年5月17日

发布经理

Ricardo Newbery,ric@digitalmarbles.com

兼容性

Plone 3.2、3.1、3.0和2.5

  • 在查找匹配的缓存规则之前,将视图名称转换为字符串类型。同时修复了base_cache_rule._associateTemplate以忽略NotFound错误。感谢Silvio Tomatis的报告。[newbery]

  • 修复了exportimport/atcontent.py中的Plone 2.5不兼容性。感谢Kai Lautaportti提供的补丁。[newbery]

  • 添加了一个解决方法以修复创建GenericSetup快照的问题。[rossp]

  • 添加了用于文件和图像的at_download清除URL。修复了旧的文件下载问题。[rossp]

  • 改为使用“无版本”命名策略,以使GenericSetup更新更加合理。[newbery]

  • 如果在Plone 2.5中删除或隐藏了所有“folder_buttons”操作,不要抛出错误。这是一个奇怪的配置,因为它使得folder_contents视图变得无用,但我们仍然不应该抛出错误。修复了http://plone.org/products/cachefu/issues/141 [newbery]

  • 修复了Accept-Encoding在Vary头中重复出现的问题。同时使setVaryHeader在确定所需值方面变得更聪明,因此现在我们不再抛出验证错误,而是静默地修复明显的遗漏。[newbery]

  • 向头集合可应用的头列表中添加了一个语法检查的自由格式字段。我们现在支持代理缓存控制。[newbery]

  • CMFQuickInstaller在GenericSetup安装后的卸载/安装似乎有些问题。这就像GS安装的工具没有被QI正确注销(这是未确认的),但奇怪的是,在QI卸载后重启Zope可以解决这个问题。但是,如果不重启,一个后果是setTitle永远不会被调用,因为getToolByName表示cachetool已经存在。由于标题是一个必需字段,但在编辑表中隐藏,这使得无法启用CacheFu。QI很快就会消失,所以我们忽略这个错误,并无条件地调用setTitle。[newbery]

  • 在GenericSetup工作流程.xml设置中添加了CachePolicy条目的缺失工作流程绑定。[newbery]

  • 在GenericSetup缓存设置中为RuleFolder/HeaderSetFolder条目添加了缺失的标题。[newbery]

  • 修复了GS设置处理程序中的问题,其中导入ObjectInitializedEvent在Plone 2.5中中断。感谢Kai Lautaportti的报告。[newbery]

  • 修复了在Plone 2.5中遇到的布尔问题,setEnabled()由于不适当类型比较失败。感谢Kai Lautaportti的报告。修复了http://plone.org/products/cachefu/issues/143 [newbery]

  • 修复了版本检查。我们现在不再依赖quickinstaller来跟踪已安装的版本,因为qi在产品路径更改和某些GS安装期间不可靠。我们还不再在版本不匹配时执行“完全”禁用 - 我们不再需要这样做,因为现在一切现在都尊重“启用”标志。[newbery]

  • 修复了CacheFu缓存策略管理器,使其尊重CacheSetup的“启用”字段。我们现在不必删除此工具来关闭缓存行为。[newbery]

  • 使用CMFPlone/patches/unicodehacks中的FasterStringIO而不是标准StringIO,以避免由于字符串和unicode的混合而引起的问题。[fschulze]

  • 改进了GenericSetup导出代码

    • 还导出标题字段用于头和规则集。

    • PolicyHTTPCacheManagerCacheRule还需要基本头集合字段。

    • 在导入对象本身之前导入子项,以便正确引用。

    [wichert]

  • 在GenericSetup缓存设置中添加了条目的缺失标题。[wichert]

  • 当用户更改缓存工具设置时,如果静默忽略“启用CacheFu”选项,则显示一个非常清晰的警告。[wichert]

  • 修复了patch_cmf.py中的两个返回值。在Plone 3中,您需要始终返回Unicode。否则,ZODB中的PageTemplate文件会在pt_render中生成断言错误,抱怨空字符串不是Unicode。[hannosch]

  • 添加一个列出所有标题集的词汇表。[wichert]

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

Products.CacheSetup-1.2.1.tar.gz (199.3 kB 查看哈希值)

上传时间

支持者