ZC Buildout用于安装Zope 2 ZEO服务器的配方
项目描述
plone.recipe.zope2zeoserver
本配方创建并配置了Zope 2 ZEO服务器。它还在bin/目录中安装了一个控制脚本,类似于zeoctl。控制脚本的名称是buildout中部分的名称。
您可以使用以下部分使用它
[zeoserver] recipe = plone.recipe.zope2zeoserver zope2-location = /path/to/zope2/install zeo-address = 8100
选项
- zope2-location
Zope 2 的安装路径。如果您还使用 plone.recipe.zope2install 配方,并且在该配方中已将其配置为名为“zope2”的部分,在 zope2zeoserver 部分之前,您可以为此参数使用 ${zope2:location}。您必须确保在 zope2install 之后运行 zope2zeoserver 部分。
- zeopack
zeopack.py 备份脚本的路径。将为该脚本生成一个 bin/zeopack 的包装器,该包装器设置运行此脚本所需的环境。默认为 “${zope2-location}/utilities/ZODBTools/zeopack.py”。如果不想生成此脚本,请将此选项设置为空值。
- zeopack-script-name
bin 目录中生成的 zeopack 脚本名称。默认为 “zeopack”。
- repozo
repozo.py 备份脚本的路径。将为该脚本生成一个 bin/repozo 的包装器,该包装器设置运行此脚本所需的环境。默认为 “${zope2-location}/utilities/ZODBTools/repozo.py”。如果不想生成此脚本,请将此选项设置为空值。
- repozo-script-name
bin 目录中生成的 repozo 脚本名称。默认为 “repozo”。
- zeo-conf
zeo.conf 文件的相对或绝对路径。如果没有给出,将根据以下选项生成一个 zeo.conf。
以下选项都会影响生成的 zope.conf。
- zeo-address
为 ZEO 服务器提供一个端口(可以是仅指定端口号(默认为主机为 localhost)或使用 host:port 格式)。默认为 8100。
- effective-user
用于 ZEO 进程的有效用户名称。默认不设置有效用户。
- invalidation-queue-size
用于 ZEO 服务器的 invalidation-queue-size。默认为 100。
- zeo-log
ZEO 日志文件的文件名。默认为 var/log/${partname}.log
- zeo-log-format
日志文件条目的格式。默认为 %(asctime)s %(message)s
- zeo-log-custom
事件日志的定制部分,以便能够使用除 logfile 之外的其他事件记录器。zeo-log 仍然用于在运行器部分中设置日志文件值。
- storage-number
用于标识存储器的数字。
- file-storage
将存储 ZODB 数据文件的文件名。默认为 var/filestorage/Data.fs。
- blob-storage
将存储 ZODB blob 数据文件的文件夹。
- socket-name
ZEO 将写入其套接字文件的文件名。默认为 var/zeo.zdsock。
- authentication-database
认证数据库的文件名。只有列在此数据库中的账户才能访问 ZEO 服务器。
数据库文件的格式为
realm <realm> <username>:<hash>
其中哈希是通过以下方式生成的
import sha string = "%s:%s:%s" % (username, realm, password) sha.new(string).hexdigest()
- authentication-realm
认证区域。默认为 ‘ZEO’
- pack-days
指定 zeopack 脚本保留历史的天数。默认为一天。
- pack-user
如果 ZEO 服务器使用认证,这是 zeopack 脚本用于连接 ZEO 服务器时使用的用户名。
- pack-password
如果 ZEO 服务器使用认证,这是 zeopack 脚本用于连接 ZEO 服务器时使用的密码。
- zeo-conf-additional
向 zeo.conf 提供附加行。确保将任何参数之后的行缩进。
- monitor-address
监控服务器应监听的地址。监控服务器以简单的文本格式提供服务器统计信息。
- relative-paths
将该值设置为true,以便生成的脚本使用相对路径。您也可以在[buildout]部分中启用此功能。
- eggs
如果您需要将其他包作为eggs包含在内,请设置此选项,例如,在ZEO服务器端执行冲突解决(通过_p_resolveConflict()处理器)时使应用程序代码可用。
报告错误或提问
我们在Launchpad上有一个共享的错误跟踪器和帮助台:https://bugs.launchpad.net/collective.buildout/
变更历史
1.5 (2013-01-29)
LP #503686:增加了设置ZEO日志级别的支持。[baijum]
增加了对“eggs”选项的说明。[ajung]
增加了自定义repozo和zeopack名称的选项。[do3cc]
1.4 (2009-10-15)
请确保仍然可以使用bin/zeopack的-S参数指定要打包的存储。[davisagli]
记录了身份验证数据库文件的格式。[hannosch]
在win32环境中增加了对每个buildout中超过一个zeoinstance的支持。[erico_andrei]
在脚本生成中增加了对相对路径的支持。[jvloothuis]
1.3 (2009-05-14)
增加了新的pack-days、pack-user和pack-password选项,以提供更灵活的zeopack脚本选项,并支持需要身份验证的打包数据库。同时,重新设计了zeopack内部结构以支持打包blob存储。现在,打包的默认设置是保留一天的数据库历史。[hannosch]
1.2 (2009-02-25)
生成bin/repozo脚本以使用repozo.py进行备份(并设置适当的pythonpath以使其工作)。从plone.recipe.zope2instance复制。[fschulze]
增加了对zeo.conf中‘monitor-address’参数的支持。[mattss]
1.1 (2008-12-05)
将recipe生成的PYTHONPATH传递给zopeservice.py,以便正确设置并传递给受控服务环境。这使得可以使用第三方ZConfig扩展与ZEO一起使用,如iw.rotatezlogs。[sidnei]
1.0 (2008-11-04)
由于这已经稳定了一段时间,因此将版本号提升到1.0。[wichert]
添加了MANIFEST.in文件,以便我们可以从导出创建发布版本。[wichert]
0.17 (2008-11-04)
使日志格式可配置,并将默认值更改为包括当前时间。[wichert]
0.16 (2008-10-15)
调整了Supervisord支持,忽略发送给脚本的命令。这避免了位置参数不受支持错误。[hannosch]
启动脚本现在可以检测它是否正在从Supervisord执行。这使得它更适合Supervisord,因为它不再会进行分叉。[jvloothuis]
0.15 (2008-08-27)
将zeoservice.py重命名为zeoservice.py.in,以避免在创建egg时出错,因为它试图编译模板文件。[hannosch]
0.14 (2008-08-21)
调整测试,使其不依赖于特定的安装文件夹名称。[dataflake]
在zeo-address中增加了对Unix套接字路径的支持,并扩展了测试覆盖率以生成zeopack脚本。[dataflake]
增加了对ZEO身份验证的支持。[wichert]
0.13 (2008-03-27)
修复了对HandleCommandLine的调用,如果我们的模块名称不是__main__(即,如果它是从另一个模块导入的),则我们自己计算serviceClassString。这解决了HandleCommandLine调用GetServiceClassString的问题,后者反过来只在原始模块是__main__时计算完整路径。[sidnei]
修复了使用ZEO从egg生成runzeo.bat时的问题,其中ZConfig不在ZODB3_HOME中。[rochael]
只有当存在zope2-location时才生成Windows服务脚本,因为目前nt_svcutils只能在zope2-location中找到。[rochael]
修复了Windows上的测试中断。[rochael]
0.12 (2008-03-02)
修复了zeopack生成,使其包括zope-location。[tarek]
0.11 (2008-02-19)
使其与Python 2.3兼容。[fschulze]
增加了win32特定脚本。[tarek]
增加了zeo-log-custom选项。[tarek]
增加了测试环境和基本的doctest以验证配方。[tarek]
0.10 (2008-01-09)
在配方构造函数外计算包的工作集。修复了https://bugs.launchpad.net/collective.buildout/+bug/180084 [rochael]
0.9 (2007-12-30)
添加了invalidation-queue-size和storage-number选项。[hannosch]
合并了rochael-blobsupport分支。增加了对ZODB 3.8 blob存储配置的支持。这添加了blob-storage选项。这修复了https://bugs.launchpad.net/collective.buildout/+bug/179115和https://bugs.launchpad.net/collective.buildout/+bug/179117。[rochael, hannosch]
将zope-conf-additional选项重命名为zeo-conf-additional。[rochael]
0.8
进行了一些小的文档更新。添加了指向bug追踪器的链接。[hannosch]
将PID文件的位置默认设置为${buildout:directory}/var/${name}.pid。将PID文件保留在$INSTANCE_HOME可能会在buildout重建部分时引起问题。[nouri, mbenali]
0.7
将zeo套接字的默认位置更改为var。[smcmahon]
添加了设置socket-name的选项。[smcmahon]
0.6
将文档移动到单独的README.txt文件中,并在setup.py中读取该文件。[wichert]
为zeopack添加了一个包装器,它为我们的ZEO服务器插入默认选项。[wichert]
0.5
添加了设置有效用户的选项。[optilude]
0.3
更新了setup.py。[optilude]
0.2
同样,还有一些硬编码的$INSTANCE_HOME/etc/依赖。[optilude]
记录了选项,清理了代码,并添加了使用手动zeo.conf的能力。[optilude]
至少在OS X上,这应该能在类似Unix的系统上正常工作。如果需要像在plone.recipe.zope2instance中那样调整Windows,也不会让我感到惊讶。:-([optilude]
0.1
初始实现。[regebro, hannosch]