支持plone的多主机名cdn

collective.cdn.multiplehostnames的Python项目详细描述


CDN Support for Plone: Multiple Hostnames

Overview

此软件包支持 plone站点。

与alternatehostname提供程序类似,multiplehostnames允许 要为hostname键入多个值。

当调用资源注册表中的绝对url方法时,我们选择一个 并将其返回到浏览器。

使用多主机名可以在 资源将从最多N个其他地址调用。

Installation

要启用此产品,请在基于构建的安装上:

  1. 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]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用HSET函数在redis中保存keyvalue   如何选择Tomcat上下文。Java代码中通过SpEL表达式的xml参数   java可以在javassist中访问Groovy脚本中声明的类吗?   java Lucene setPositionIncrement不起作用   有没有办法用Java调用shell脚本,并通过Java类为shell脚本变量设置值   java堆算法在列表中的实现   java如何让TTS在一个应用程序中以不同的语言表达?   java重构并在遍历枚举结构时删除case语句   java Android获取附近地点的列表   选定id后,java应用程序强制停止   如何用java显示消息对话框   java如何按日期和增量设置文本?   java如何按照依赖关系的顺序正确加载项目的类?   java在尝试为实体添加标识符时遇到问题   如何从Java字节码判断局部变量是否为“final”?(与BCEL相关)   neo4j中的java节点级安全性   java我在libGDX中缺少什么来获取Actor上的InputEvent?   java RecycleView不显示任何数据   Java中无构造函数创建子类实例的继承