支持plone的多主机名cdn
collective.cdn.multiplehostnames的Python项目详细描述
目录
CDN Support for Plone: Multiple Hostnames
Overview
此软件包支持 plone站点。
与alternatehostname提供程序类似,multiplehostnames允许 要为hostname键入多个值。
当调用资源注册表中的绝对url方法时,我们选择一个 并将其返回到浏览器。
使用多主机名可以在 资源将从最多N个其他地址调用。
Requirements
- 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)
Installation
要启用此产品,请在基于构建的安装上:
Edit your buildout.cfg and add ^{tt1}$ to the list of eggs to install
[buildout] ... eggs = collective.cdn.multiplehostnames
如果另一个包依赖于collective.cdn.multiplehostnames egg或 直接包含它的zcml不需要在 buildout配置:buildout将自动检测到这一点。
更新配置后,需要运行“bin/buildout”, 它将负责更新您的系统。
进入Plone界面的“站点设置”页面,点击 “添加/删除产品”链接。
选择对plone的cdn支持(选中其复选框),然后单击“安装”按钮。
卸载-这可以在同一个管理屏幕上完成,但仅限于 如果是从快速安装程序安装的。
注意:您可能需要清空浏览器缓存并保存资源 以查看产品安装的效果。
Usage
CDN设置
安装此软件包后,请转到 打开界面,点击“CDN配置”链接。
在此页中,您可以选择哪些注册表将使用CDN设置 单击相应的复选框。
选择多主机名提供程序,添加几个主机名、端口号 和其他路径-如果需要-然后保存设置。
工作原理
使用设置页面中提供的主机名,我们只需替换 用提供的信息填写站点根的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
Advanced Usage
使用不同的路径可以创建一个简单的 为多个站点缓存/cdn服务器。作为一个例子,我们将考虑 有两个plone站点,www.simplesconsultoria.com.br和www.simplesnet.com.br, 我们将cache01.simples.srv.br和cache02.simples.srv.br设置为 两个plone站点中的主机名。
为了区分一个站点和另一个站点,我们将设置不同的路径 在每一个中:
- simples in www.simplesconsultoria.com.br
- simplesnet in www.simplesnet.com.br
因此每个站点都有以下设置:
- www.simplesconsultoria.com.br
- Provider: MultipleHostnames
- Hostname: cache01.simples.srv.br, cache02.simples.srv.br
- Port: 80
- Path: simples
- www.simplesnet.com.br
- Provider: MultipleHostnames
- Hostname: cache01.simples.srv.br, cache02.simples.srv.br
- Port: 80
- Path: 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.c网站om.br服务器和对simplesnet/的调用 www.simplesnet.com.br服务器。
Sponsoring
本产品的开发由Simples Consultoria赞助。
Credits
- Simples Consultoria (products at simplesconsultoria dot com dot br) - Implementation
- Dorneles Treméa for the invaluable talks about how to implement this provider.
Changelog
0.6(2012-08-01)
- 重构测试以使用plone.app.testing[ericof]
0.5(2011-02-21)
- 多主机名提供程序[ericof]的实现
- 初始版本[ericof]