Plone的多个主机名CDN支持
项目描述
Plone的CDN支持:多个主机名
概述
此包为Plone站点提供多个主机名CDN配置的支持。
类似于AlternateHostname提供程序,MultipleHostnames允许您输入多个主机名值。
当调用资源注册表的absolute_url方法时,我们将选择可用的主机名之一并将其返回给浏览器。
使用MultipleHostnames允许您从主机名提供服务,而资源将从多达n个其他地址调用。
要求
Plone 3.3.x (http://plone.org/products/plone)
Plone 4.0.x (http://plone.org/products/plone)
Plone 4.1.x (http://plone.org/products/plone)
Plone 4.2.x (http://plone.org/products/plone)
collective.cdn.core (http://pypi.python.org/pypi/collective.cdn.core)
安装
要在基于buildout的安装中启用此产品
编辑您的buildout.cfg文件并将collective.cdn.multiplehostnames添加到要安装的egg列表中
[buildout] ... eggs = collective.cdn.multiplehostnames
如果其他包依赖于collective.cdn.multiplehostnames egg或直接包含其zcml,您在buildout配置中不需要指定任何内容:buildout将自动检测。
更新配置后,需要运行“bin/buildout”,这将负责更新您的系统。
转到Plone界面中的“站点设置”页面,然后单击“添加/删除产品”链接。
选择CDN支持Plone(勾选其复选框),然后单击“安装”按钮。
卸载 – 如果您是从快速安装程序安装的,则可以从同一管理屏幕进行卸载。
注意:您可能需要清空浏览器缓存并保存资源注册表,才能看到产品安装的效果。
使用
CDN设置
安装此包后,转到Plone界面中的“站点设置”页面,然后单击“CDN配置”链接。
在此页面上,您可以通过单击相应的复选框来选择哪些注册表将使用CDN设置。
选择MultipleHostnames提供者,添加一些主机名、端口号和(如果需要)附加路径,然后保存设置。
工作原理
使用设置页面提供的主机名,我们只需将Plone站点根的URL替换为提供的信息。
例如,让我们在我们的配置中添加两个主机名
cache01.simplesconsultoria.com.br
cache02.simplesconsultoria.com.br
端口号为80,路径为空,portal_css/beyondskins_simples/simplesconsultoria_site-cachekey0549.css文件的链接将从
http://www.simplesconsultoria.com.br/portal_css/beyondskins_simples/simplesconsultoria_site-cachekey0549.css
变为
http://cache01.simplesconsultoria.com.br/portal_css/beyondskins_simples/simplesconsultoria_site-cachekey0549.css
这是由于选择可用主机名的算法。如果文件是portal_css/beyondskins_simples/base-cachekey3443.css,则提供者将选择第二个主机名。
如果我们提供了一个不同于80的端口号,它将被附加到主机名上,所以端口号为8080的上述示例将返回
http://cache01.simplesconsultoria.com.br:8080/portal_css/beyondskins_simples/simplesconsultoria_site-cachekey0549.css
如果在我们的设置中提供了路径,也会发生相同的情况。使用“simples”作为我们的路径,第一个示例将返回
http://cache01.simplesconsultoria.com.br/simples/portal_css/beyondskins_simples/simplesconsultoria_site-cachekey0549.css
高级使用
使用不同的路径为您提供创建多个站点简单缓存/CDN服务器的可能性。例如,我们将考虑我们有两个Plone站点,www.simplesconsultoria.com.br和www.simplesnet.com.br,我们将cache01.simples.srv.br和cache02.simples.srv.br作为主机名设置在两个Plone站点中。
为了区分一个站点和另一个站点,我们将在每个站点中设置不同的路径
simples在www.simplesconsultoria.com.br
simplesnet在www.simplesnet.com.br
所以每个站点将有以下设置
- www.simplesconsultoria.com.br
提供者:MultipleHostnames
主机名:cache01.simples.srv.br,cache02.simples.srv.br
端口:80
路径:simples
- www.simplesnet.com.br
提供者:MultipleHostnames
主机名:cache01.simples.srv.br,cache02.simples.srv.br
端口:80
路径:simplesnet
并且对文件portal_css/beyondskins_simples/base-cachekey3443.css的链接,对于www.simplesconsultoria.com.br将返回
http://cache02.simples.srv.br/simples/portal_css/beyondskins_simples/base-cachekey3443.css
并且对于www.simplesnet.com.br
http://cache02.simples.srv.br/simplesnet/portal_css/beyondskins_simples/base-cachekey3443.css
因此,我们的前端服务器必须将调用重写为simples/到www.simplesconsultoria.com.br服务器,并将调用重写为simplesnet/到www.simplesnet.com.br服务器。
赞助
本产品的开发由Simples Consultoria赞助。
致谢
Simples Consultoria(产品在simplesconsultoria dot com dot br)- 实现
Dorneles Treméa关于如何实现此提供者的宝贵讨论。
变更日志
0.6 (2012-08-01)
重构测试以使用plone.app.testing [ericof]
0.5 (2011-02-21)
实现多主机名提供者 [ericof]
首次发布 [ericof]