控制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)中
运行easy_install Products.CacheSetup。有关安装setuptools(和EasyInstall)的说明,请参阅:http://peak.telecommunity.com/DevCenter/EasyInstall
如果您使用的是Zope 2.9(不是2.10),请获取pythonproducts并将其安装到您的Zope实例中
python setup.py install --home /path/to/instance
(2) 本地安装(标准buildout安装)
如果您使用zc.buildout和plone.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.CMFSquidTool、Products.PageCacheManager和Products.PolicyHTTPCacheManager。
安装后步骤
如果是第一次安装
启动Zope后,通过Plone的“添加/删除产品”页面安装CacheSetup产品
可选:通过“缓存配置工具”进行配置(参见手册中的“配置CacheFu”)
可选:安装和配置Squid或Varnish(见下文)
如果是从1.2版本之前的版本升级
从实例的Products目录中删除上一个版本。 CacheSetup、CMFSquidTool、PageCacheManager和PolicyHTTPCacheManager都已由Products.CacheSetup、Products.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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bb0575e82d3883eb3deceb8ad05c5d9ac62c850cb248ea87d5ca2bc4ebf0f581 |
|
MD5 | b8cd3f37ad9ff5d1416b8d3928196035 |
|
BLAKE2b-256 | ac0c0e5893d3ca0b4ba641bd5ed85ac1ba4246f955b392933e9b56ccc1525822 |