站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
▼
建站程序
开发
服务器
办公软件
开发教程
▼
服务器教程
软件使用教程
运营教程
热门电子书
▼
CSS教程
WordPress教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
热点词条
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
EZ Publish/EZ Publish 集群的使用
”(章节)
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
== 集群概述 == 集群特性允许在多台[[WEB]] [[服务器]]上运行同一个[[eZ Publish]] 站点。集群站点会有更好的性能也可以承受更多的访问量。 可以将所有内容相关的[[缓存]],图片和[[二进制]]文件保存在[[数据库]]中。数据库事务被用来保证所有的集群节点使用相同的缓存文件并访问相同的图片和二进制文件。换言之,当内容被上传,变化会自动对所有节点生效。这个特性在3.10 中得到了很大的改善。 <font color="red">注意:当使用集群时,建议使用虚拟主机模式运行eZ Publish。</font> *'''3.10 引入的变化''' 在3.10 版本以前,清除缓存会物理删除缓存文件。这一操作可能非常耗时。 从3.10 版本开始,系统会将缓存标记为不可用而不是从数据库或文件系统中物理删除。这可以标记每个特别缓存文件为过期或设置全局过期时间(在需要很多变化时,例如:当清除特定类型的所有缓存,后者常被使用)。全局过期时间是一个[[时间戳]],它可以被用来作为系统中所有缓存的过期时间。如果全局过期时间被设置为一个特定日期,所有比这个日期旧的缓存文件都不会被使用。注意,在重建缓存的时候,系统会重用旧的/过期的文件内容。 如果要从数据库中物理删除缓存文件,需要添加"—purge"参数来执行"bin/php/ezcache.php"。下例演示了如何删除所有两天前的内容缓存。 <pre>php bin/php/ezcache.php --clear-id=content --purge --expiry='-2 days'</pre> 如果要了解更多信息,可以用"—help"参数: <pre>php bin/php/ezcache.php --help</pre> <font color="red"> 注意:3.10 不支持基于[[PostgreSQL]] 和[[Oracle]] 数据库的集群。代码针对使用[[InnoDB]] 引擎的[[MySQL]] 数据库做了性能优化。MySQL 的数据库[[连接数]]必须被增加30-50%。这样做的原因是新的集群代码在将内容写入数据库时会建立另外一个连接(这个连接用于检查得到写入锁后,文件是否被修改过)。如果持续连接被启用,集群将不会与普通数据库操作共用连接,所以之前的连接数将翻倍。 </font> *'''3.9 版本引入的修改''' 从3.9 版本开始,系统引入了一个附加的[[HTTP]] 头"Served-by"。这一特性用于测试和调试目的。当您需要在客户端检查内容来源于哪个服务器时,这一特性变得很有用。下例演示了服务器回应的片段。 <pre> ... Last-Modified: Fri, 29 Jun 2007 09:35:54 GMT Served-by: 62.70.12.230 Content-Language: en-GB ... </pre> *'''集群如何工作''' 需要在不同服务器见保持同步的数据被保存在数据库中: • 二进制文件 • 图片和图片别名 • 内容相关的缓存 : 内容视图缓存 : 模板缓存块 : 过期缓存 : [[URL]] 别名缓存 :[[RSS]] 缓存 :用户信息缓存 : 类标识符缓存 :排序键值缓存 其它文件在文件系统中保存,包括(但不限于): • INI 文件 • 模板文件 • 编译的模板 • [[PHP]] 文件 • 日志文件 • 与内容无关的缓存 :全局INI 缓存 :INI 缓存 :代码页缓存 :字符变换缓存 :模板缓存 :模板重设缓存 *'''内容视图缓存''' 当eZ Publish 显示一个页面(一个内容节点)时,它会执行"content"模块的"view"视图并在pagelayout 中包含视图的输出。如果视图的输出被缓存,缓存文件会被读取并使用。否则,系统会从eZ Publish 数据库中提取内容,生成必要的模板,生成WEB 页面并在返回结果前将生成的[[XHTML]] 保存在文件系统中。 如前说述,这些文件现在可以(从3.8 版本开始)被保存在数据库中因而文件(以及改动)可以被简单迅速地在所有的服务器中共享。 *'''图片和图片别名''' 上述解决方案也被用于图片和图片别名(图片变种)。但是,解决方案有一点复杂因为直到最近(3.8),图片都是被[[Apache]] 直接提供的。因为WEB 服务器不能直接与数据库沟通,图片需要由一个称为"index_image.php"的PHP 脚本来提供。这条规则应用于所有与内容有关的图片,但是不适用于界面中的图片。请注意,需要为Apache 添加新的rewrite 规则来要求Apache 在提供图片的时候使用"index_image.php"。 *'''集群文件处理器''' 在3.8 中引入了一种新的文件管理器机制。它允许在数据库中对文件进行保存,提取,重命名,删除等操作。集群文件[[处理器]]在"kernel/classes/clusterfilehandlers"目录中。以下为系统内建的集群文件处理器: • ezfs(eZFSFileHandler) • ezdb(eZDBFileHandler) '''eZFSFileHandler''' 这个处理器允许使用文件系统来处理文件。 *'''eZDBFileHandler''' 这个处理器允许使用数据库处理文件(在集群环境中,这通常包括图片,上传的二进制文件,内容有关的缓存等等)。它被划分为不同的后台实现以支持不同的数据库(注意:目前只有MySQL 被支持)。 *'''自定义处理器''' 可以开发自己的处理器和/或后台实现来扩展系统。这可以通过扩展系统实现(不是通过修改eZ Publish内核文件)。 "file.ini"中的"[ClusteringSettings]"下的"[ExtensionDirectories[]"数组是eZ Publish 用来寻找附加集群文件处理器的位置。默认情况下,eZ Publish 会在扩展的"clusterfilehandlers"子目录内寻找。 '''例''' 如果有一个扩展"myExtension",它包括一个集群文件处理器"cfh"。应该在"file.ini.append.php"文件中的"[ClusteringSettings]"下添加如下配置: <pre> FileHandler=cfh ExtensionDirectories[]=myExtension </pre> 这些配置会要求eZ Publish 使用位于"extension/myExtension/clusterfilehandlers/cfhfilehandler.php"的自定义集群文件处理器。
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)