跳转到主要内容

ZC Buildout配方,用于安装ZEO服务器

项目描述

概述

此配方在部分中创建和配置ZEO服务器。它还在bin/目录中安装一个控制脚本。控制脚本的名字是buildout中的部分名。

您可以使用如下部分

[zeo]
recipe = plone.recipe.zeoserver
zeo-address = 8100

这将创建一个控制脚本 bin/zeo

您可以通过 bin/zeo fg 在前台模式下启动数据库,或者使用内置的zdaemon进程控制,使用 start/stop/restart/status 命令。前台模式适用于在像supervisord这样的通用进程控制软件下运行进程。

注意:此配方的Windows支持目前有限。

选项

以下选项都会影响生成的zeo.conf。如果您想完全控制配置文件,请参阅高级选项中的 zeo-conf 选项。

进程

zeo-address

为ZEO服务器提供一个端口号(可以只指定端口号(默认为'127.0.0.1')或者使用host:port格式)。默认为8100

effective-user

ZEO进程的有效用户名。默认不设置有效用户,这将导致进程以启动进程的用户账户运行。

socket-name

ZEO将写入其套接字文件的文件名。默认为var/zeo.zdsock

存储

storage-number

用于标识存储的数字。默认为1

file-storage

ZODB数据文件将存储的文件名。默认为var/filestorage/Data.fs

blob-storage

存储ZODB blob数据文件的文件夹。默认为var/blobstorage

日志记录

zeo-log

ZEO日志文件的文件名。默认为var/log/${partname}.log

zeo-log-level

控制事件日志中的日志级别。默认为info

zeo-log-max-size

ZEO日志文件的最大大小。启用日志轮转。

zeo-log-old-files

启用日志轮转时保留的旧日志文件数量。默认为1

zeo-log-format

日志文件条目的格式。默认为%(asctime)s %(message)s

zeo-log-custom

一个自定义事件日志部分,以便能够使用除logfile之外的其他事件记录器。在runner部分中仍然使用zeo-log来设置日志文件值。

身份验证

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-gc

可以将它设置为false以禁用打包过程中的垃圾收集。默认为true

pack-keep-old

可以在运行打包程序之前将其设置为 false 以禁用创建 *.fs.old 文件。默认为 true

pack-user

如果 ZEO 服务器使用身份验证,这是 zeopack 脚本连接到 ZEO 服务器时使用的用户名。

pack-password

如果 ZEO 服务器使用身份验证,这是 zeopack 脚本连接到 ZEO 服务器时使用的密码。

ZRS

首先,您需要指定安装 zc.zrs 的配方。要做到这一点,只需稍微改变在您的 zeoserver buildout 部分中指定配方选项的方式

[zeoserver]
recipe = plone.recipe.zeoserver[zrs]
...
replicate-to

此 ZRS 应作为主节点监听的 host:port 组合。ZRS 从节点连接到这里以获取复制数据。

replicate-from

该 ZRS 应作为从节点连接到的 ZRS 主节点的 host:port 组合。此 ZRS 从主节点复制其获得的数据。

keep-alive-delay

在某些网络配置中,TCP 连接在一段时间的不活跃后会被中断。这甚至可能以客户无法检测到断开连接的方式完成。为防止这种情况,您可以使用 keep-alive-delay 选项让从存储定期向服务器发送无操作消息。

监控

monitor-address

监控服务器应监听的地址。监控服务器以简单的文本格式提供服务器统计信息。

性能

invalidation-queue-size

用于 ZEO 服务器的 invalidation-queue-size。默认为 100

自定义

var

用于配置所有进入 var 的内容的基目录。默认为 ${buildout:directory}/var。

zeo-conf-additional

向 zeo.conf 提供额外的行。确保对参数后面的任何行进行缩进。这允许您使用生成的 zeo.conf 文件,但可以添加一些小的附加行。

eggs

如果您需要将其他包作为 eggs 包含在内,请设置。例如,为了在 ZEO 服务器端使应用程序代码可用,以便执行冲突解决(通过 _p_resolveConflict() 处理器)。

extra-paths

指定应可供控制脚本使用的附加目录。仅用于非 eggified Python 包。

zeo-conf

到 zeo.conf 文件的相对或绝对路径。这允许您提供一个完全自定义的配置文件并忽略此配方中的大多数选项。

repozo

repozo.py 备份脚本的路径。将在 bin/repozo 中生成此脚本的包装器,该包装器设置运行此脚本所需的环境。默认为使用 ZODB egg 中的 repozo 脚本。如果不想生成此脚本,请将其设置为空值。

repozo-script-name

bin/ 中生成的包装器脚本的名称。默认为 repozo。如果您在一个 buildout 中有此配方的多个实例,请更改此选项以创建单独的脚本并避免任何脚本被覆盖。

zeopack

zeopack.py 备份脚本的路径。除非您更改 zeopack-script-name,否则将在 bin/zeopack 中生成此脚本的包装器,该包装器设置运行此脚本所需的环境。默认为使用 ZODB egg 中的 zeopack 脚本。如果不想生成此脚本,请将其设置为空值。

zeopack-script-name

bin/ 中生成的包装器脚本的名称。默认为 zeopack。如果您在一个 buildout 中有此配方的多个实例,请更改此选项以创建单独的脚本并避免任何脚本被覆盖。

relative-paths

将此设置为 true 以使生成的脚本使用相对路径。您还可以在 [buildout] 部分中启用此选项。

read-only

设置 zeoserver 以只读模式运行

用法

zeopack

构建过程中,将在buildout的bin目录下为您生成一个zeopack脚本,除非您更改了zeopack-script-name选项,在这种情况下,脚本将使用您指定的名称。如果您想使用此脚本打包不同的挂载点,则需要指定-S mount_name。您还可以指定一个-B选项来不使用默认的blob目录。您可以通过在命令行中添加“-D #”来覆盖打包天数,“#”表示要保留的天数。

版本信息

  • 3.x -> Plone 6, Zope 5, Python 3.8+

  • 2.x -> Plone 5, Zope 4, Python 2.7

报告错误或提问

我们在Github上有一个错误跟踪器和帮助台:https://github.com/plone/plone.recipe.zeoserver/issues

变更日志

3.0.2 (2024-05-06)

测试

  • 删除了Zope复制服务的测试。虽然食谱支持应该仍然有效,但测试已损坏。请注意,zc.zrs项目目前未维护,因此如果您依赖此功能,请积极维护。请参阅问题52。[maurits] (#52)

3.0.1 (2023-10-07)

内部

  • 更新配置文件。[plone开发者] (cfffba8c)

3.0.0 (2023-05-09)

破坏性更改

  • 将代码库更新到python 3.8+。更新所需版本zope.mkzeoinstance = 5.1.1。[petschki] (#45)

错误修复

  • 修复在构建out部分中定义额外的eggs时的丢失依赖项。[petschki] (#45)

2.0.3 (2020-08-14)

错误修复

  • 从runzeo.bat和zeoservice.py.in文件中删除ZODB3_HOME变量,修复Windows机器的问题 (#41)

  • 修复了“ValueError: Attempted relative import in non-package” - 在Windows构建中 (#42)

2.0.2 (2020-04-21)

错误修复

  • 小的打包更新。 (#1)

2.0.1 (2019-02-08)

错误修复

  • 生成的bin/zeopack脚本兼容Python 3。[ajung] (#36)

2.0.0 (2018-12-03)

破坏性更改

  • 停止支持ZODB3,但需要ZODB >= 5

新功能

  • 添加对Python 3.6和3.7的支持。

1.4.2 (2018-06-04)

错误修复

  • 将食谱从__init__.py移动到新模块,以消除控制脚本对zc.recipe.egg的依赖。[tschorr]

1.4.1 (2018-02-05)

错误修复

  • 通过安装hyperlink包修复了Travis测试。[maurits]

  • 修复了zeopack脚本对ZEO >= 5的支持(从原始ZEO的脚本中回滚)[mamico]

1.4.0 (2017-06-16)

新功能

  • 为了与最新的ZODB干净地工作,需要zope.mkzeoistance > 4.0。[jensens]

错误修复

  • 清理:utf8头,isort,pep8。[jensens]

1.3.1 (2017-04-08)

错误修复

  • 修复测试以与当前的Twisted版本一起运行。

1.3 (2017-02-15)

新功能

  • 添加对日志轮换的支持。[hvelarde]

错误修复

  • 文档中的错误。[ale-rt]

1.2.9 (2016-05-26)

修复

  • 更新了文档。[mamico, gforcada]

1.2.8 (2015-04-18)

  • 在zeopack脚本中添加默认存储数量。[mamico]

1.2.7 (2015-01-05)

  • 将工作集的计算推迟到食谱运行。[gotcha]

  • 在主脚本中添加对初始化的支持。[mamico]

  • 添加对Pip安装的Buildout的支持。[aclark]

  • 将“-D”参数添加到zopepack选项中,以允许覆盖打包天数。[smcmahon]

1.2.6 (2013-06-04)

  • 添加将zeoserver设置为只读的支持。[vangheem]

  • 添加与ZRS的集成。[vangheem]

1.2.5 (2013-05-23)

  • 尚未有任何更改。

1.2.4 (2013-04-06)

  • 添加控制repozo输出脚本名称的能力。使用repozo-script-name选项更改脚本名称。[do3cc]

1.2.3 (2012-10-03)

  • 添加控制zeopack输出脚本名称的能力。使用zeopack-script-name选项更改脚本名称。[davidjb]

  • 修复了zeopack连接处理。之前的修复在连接尝试失败后仅偶然生效,导致zeopack在打包完成之前退出。现在,失败的连接被正确检测到,zeopack将等待打包完成。[gaudenz]

1.2.2 (2011-11-24)

  • 修复了Windows下自定义zeo.conf的支持。[rossp]

1.2.1 - 2011-09-12

  • 当zeoserver未运行时,zeopack脚本无法执行任何操作。因此,当zeopack无法连接时,它现在会带错误信息退出。以前它会无限期地等待。[maurits]

  • 添加了类似于plone.recipe.zope2instance中的“var”选项。[garbas]

1.2.0 - 2010-10-18

  • 仅在Windows上需要nt_svcutils分布。[hannosch]

1.1.1 - 2010-07-20

  • 修复了-B选项与-S选项一起使用的必要性。[vangheem]

  • 添加了使用zeopack脚本与挂载点相关的文档。[vangheem]

1.1 - 2010-07-18

  • 无变化。

1.1b1 - 2010-07-02

  • 实现了Windows支持以及将ZEO作为Windows服务运行的支持。我们依赖于新的nt_svcutils发行版来提供此支持。[baijum, hannosch]

  • ZODB 3.9的FileStorage组件现在原生支持blob,因此不再需要使用BlobStorage代理。[baijum, hannosch]

  • 添加了extra-paths选项以添加额外的模块路径。[baijum]

  • 修复了ZEO挂载存储的打包问题。[vangheem]

  • 在zeopack脚本中添加了-B选项以指定blob存储的位置。[vangheem]

1.1a2 - 2010-05-10

  • 添加了对ZODB 3.9中引入的pack-keep-old选项的支持。[hannosch]

1.1a1 - 2010-04-27

  • 添加了对ZODB 3.9中引入的pack-gc选项的支持。[hannosch]

  • 默认始终创建blob存储。[hannosch]

  • 要求至少使用ZODB 3.8并简化了zeopack脚本。[hannosch]

  • 各种文档更新。[hannosch]

  • 使用新的zope.mkzeoinstance包,它使配方与ZODB 3.9.5+兼容。[hannosch]

  • 移除了未维护的win32特定测试和旧的zope2测试模型。[hannosch]

  • 移除了对zope.testing的测试依赖,并重构了测试设置。[hannosch]

1.0 - 2010-04-05

  • 依赖并始终包含ZopeUndo。虽然它仅适用于Zope 2,但该分发的体积非常小,对非Zope 2的ZEO服务器没有影响。[hannosch]

1.0b1 - 2010-03-19

  • 修复了zeopack脚本的egg路径问题。[davisagli]

  • 添加了设置ZEO日志级别的支持。[baijum]

1.0a2 - 2009-12-03

  • 设置了ZODB.blob需要的日志配置。[davisagli]

  • 在初始化pack脚本使用的ClientStorage时将shared_blob_dir设置为True,因为它将使用与ZEO服务器相同的blob目录。[davisagli]

1.0a1 - 2009-12-03

  • 更新并清理了重命名后的内容。[hannosch]

  • 添加了对eggified Zopes(Zope >= 2.12)的兼容性。[davisagli]

  • 基于plone.recipe.zope2zeoserver的初始实现。[plone]

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

plone_recipe_zeoserver-3.0.2.tar.gz (25.9 kB 查看哈希值)

上传时间 源代码

构建分发版

plone.recipe.zeoserver-3.0.2-py3-none-any.whl (21.1 kB 查看哈希值)

上传时间 Python 3

由...