为创建zope2instances构建的食谱
项目描述
简介
这是plone.recipe.zope2instance的一个临时分支,对退出代码处理进行了轻微调整。除非你需要这个功能,我们建议使用上游食谱。
这个食谱以部分的形式创建和配置Zope 2实例。它还在bin/目录中安装了一个控制脚本,类似于zopectl。控制脚本的名称是buildout中部分的名字。
你可以用如下部分使用它
[instance] recipe = isotoma.recipe.zope2instance zope2-location = /path/to/zope2/install user = admin:admin http-address = 8080 eggs = ${buildout:eggs} my.package products = ${buildout:directory}/products zcml = my.package
选项
- zope2-location
Zope 2安装的路径。如果你还使用plone.recipe.zope2install食谱,并且在该zope2instance部分之前将其配置为名为‘zope2’的部分,你可以为这个参数使用${zope2:location}。
- zope-conf
到zope.conf文件的相对或绝对路径。如果没有提供,将基于以下选项生成zope.conf。
- repozo
repozo.py 备份脚本的路径。将为该脚本生成一个在 bin/repozo 的包装器,它将为运行此脚本设置适当的环境。默认为 “${zope2-location}/utilities/ZODBTools/repozo.py”。如果您不希望生成此脚本,请将其设置为空值。
以下所有选项都会影响生成的 zope.conf
- products
一个包含 Zope 2 产品安装路径的列表。如果同一产品在多个目录中找到,则第一个路径具有优先权。
- site-zcml
如果您想自定义 site.zcml 文件,请将其内容放在这里。如果使用此选项,则忽略 zcml 和 zcml-additional 选项。
- zcml
为列出的包安装 ZCML slugs,用空格分隔。您可以通过添加 ‘-’ 并指定要创建的 slug 类型来指定 slug 类型。有效的类型是 configure、overrides 和 meta。一些示例:my.package-overrides my.package-meta
- zcml-additional
应包含在生成的 site.zcml 文件中的额外 ZCML 语句。
- extra-paths
包含额外 python 包安装路径的列表。在所有 egg 和产品路径之后按照给定顺序搜索这些路径。
- default-zpublisher-encoding
这控制了在未指定其他编码的情况下,ZPublisher 使用哪种字符集对 unicode 数据进行编码。默认为 ‘utf-8’。
- debug-mode
设置为 ‘on’ 以在 Zope 中打开调试模式。默认为 ‘off’。
- verbose-security
设置为 ‘on’ 以打开详细安全(并切换到 Python 安全实现)。默认为 ‘off’(并使用 C 安全实现)。
- effective-user
为 Zope 进程设置有效用户名称。默认为不设置有效用户。
- ip-address
这是 Zope 的各种服务器协议实现将监听请求的默认 IP 地址。如果此未设置,Zope 将监听机器支持的任何 IP 地址。此指令可以在服务器部分中按服务器覆盖。默认为不设置 ip-address。
- port-base
应用于 ZServer 配置使用的端口号的偏移量。例如,如果 http-server 端口为 8080 且 port-base 为 1000,则 HTTP 服务器将监听端口 9080。这使得更改 Zope 服务器进程使用的完整端口集变得容易。Zope 默认为 0。
- http-address
为 HTTP 服务器提供一个端口号。默认为 8080。
- http-fast-listen
设置为 off 以在 Zope 启动阶段结束时延迟打开 HTTP 套接字。默认为 on。注意:此选项需要 Zope >= 2.11。
- ftp-address
为 FTP 服务器提供一个端口号。这将启用 FTP 服务器。
- webdav-address
为 WebDAV 服务器提供一个端口号。这将启用 WebDAV 服务器。
- webdav-force-connection-close
有效选项为 off 和 on。默认为 off
- icp-address
为 ICP 服务器提供一个端口号。这将启用 ICP 服务器。
- client-home
设置生成实例的 clienthome。默认为 ${buildout:directory}/var/
。 - var
用于配置所有进入 var 的内容的基目录。默认为 ${buildout:directory}/var。
- event-log
事件日志的文件名。默认为 var/log/${partname}.log
- event-log-custom
事件日志的定制部分,以便能够使用除 logfile 之外的事件记录器
- event-log-level
设置控制台输出的事件日志级别。级别可以是 CRITICAL、ERROR、WARN、INFO、DEBUG 或 ALL。默认为 INFO。
- z2-log
Z2 访问日志的文件名。默认为 var/log/${partname}-Z2.log。
- z2-log-level
设置访问日志的日志级别。级别可以是CRITICAL、ERROR、WARN、INFO、DEBUG或ALL。默认为WARN。
- access-log-custom
类似于event-log-custom,是访问记录器的自定义部分,以便可以使用除了logfile之外的事件记录器。
- file-storage
存储ZODB数据文件的文件名。默认为var/filestorage/Data.fs。
- demo-storage
如果设置为‘on’,则启用demostorage。它与blob-storage和rel-storage不兼容。
- blob-storage
存储ZODB blob数据的目录名称。
- rel-storage
允许设置RelStorage代替FileStorage。
包含通过换行符分隔的设置,具有以下值
type:任何受支持的数据库类型(postgresql、oracle、mysql)
RelStorage特定的键,如cache-servers和poll-interval
所有其他键都传递给数据库特定的RelStorage适配器。
示例
rel-storage = type oracle dsn (DESCRIPTION=(ADDRESS=(HOST=s01))(CONNECT_DATA=(SERVICE_NAME=d01))) user tarek password secret
- zeo-client
设置为‘on’以使此实例成为ZEO客户端。在这种情况下,必须设置zeo-address选项,并且file-storage选项无效。要设置ZEO服务器,可以使用plone.recipe.zope2zeoserver配方。默认为‘off’。
- shared-blob
如果将‘zeo-client’设置为‘on’,并且‘blob-storage’设置为与ZEO服务器共享的目录(由zeo.conf中的‘blob-dir’设置配置),则将‘shared-blob’设置为‘on’会导致此实例不会通过ZEO连接流式传输blob文件,而只是将文件位置信息发送到ZEO服务器。
- zeo-address
设置ZEO服务器的地址。默认为8100。
- zeo-client-name
设置ZEO客户端的名称。默认为部分名称。如果提供了一个false值,则不会设置zeo-client-name。
- zeo-client-cache-size
设置ZEO客户端缓存的大小。默认为‘30MB’。
- zeo-client-client
设置用于构造缓存文件名的持久性缓存名称。默认情况下禁用持久性缓存文件。
- zeo-storage
设置ZEO存储的存储编号。默认为‘1’。
- zeo-var
用于在zeo存储片段中配置zeo var文件夹。默认为$INSTANCE_HOME/var。
- zeo-username
启用ZEO身份验证,并在访问ZEO服务器时使用提供的用户名。还必须指定zeo-password。
- zeo-password
在启用身份验证的情况下连接到ZEO服务器时使用的密码。
- zeo-realm
在与ZEO服务器进行身份验证时使用的身份验证区域。默认为‘ZEO’。
- zodb-cache-size
设置ZODB缓存大小,即ZODB缓存将尝试保持的对象数量。默认为5000。
- zodb-cache-size-bytes
以字节为单位设置ZODB缓存大小。需要ZODB 3.9或更高版本。
- zserver-threads
指定Zope的ZServer网络服务器用于处理请求的线程数。除非你知道你在做什么,否则不应更改此值。Zope的默认值为4。
- zodb-temporary-storage
如果给定,将用此参数的行替换Zope的默认临时存储定义。
- environment-vars
在Zope运行周期中定义任意键值对,用作环境变量。
示例
environment-vars = TZ US/Eastern TMP /var/tmp DISABLE_PTS True
- zope-conf-additional
向zope.conf提供附加行。确保缩进参数之后的任何行。
示例
zope-conf-additional = locale fr_FR http-realm Slipknot
- relative-paths
将此设置为true,以便生成的脚本使用相对路径。您还可以在[buildout]部分中启用此功能。
- no-shell
传统的运行Zope的方法是通过使用shell脚本。这些脚本随后启动具有正确设置的Python进程。通过将此选项设置为true(默认为false),这些shell脚本将不会使用。在这种情况下,配方将直接启动Python进程。
变更日志
3.6 (2009-10-11)
扩展了RelStorage选项,包括keep-history和replica-conf。[hathawsh]
3.5 (2009-09-05)
在脚本生成中添加了对相对路径的支持。[jvloothuis]
当设置zope-conf时,配置文件将直接从该位置加载(之前创建了一个包含它的stub zope.conf)。[jvloothuis]
添加了一个选项,避免使用常规的shell脚本启动Zope。这使得可以避免这些脚本中的硬编码路径。[jvloothuis]
允许在RelStorage配置中使用blob-dir参数。[hathawsh]
3.4 (2009-08-12)
与LP#407916的修复保持一致。[gotcha]
修改了'mkzopeinstance'调用,以尊重'bin-directory'选项。[esteele]
从配方中移除了zope2-egg选项和简单的启动脚本。我们假设如果未设置zope2-location,则我们有egg发行版。[hannosch]
将davisagli-eggified-zope分支合并到主分支。[hannosch]
添加了一个新的icp-address选项。这在例如使用squid作为Zope/ZEO集群前端的环境中很有用。参见http://www.zope.org/Members/htrd/icp/intro [neaj]
3.3 - 2009-07-07
添加了对RelStorage选项的处理。[elro]
在更新时重新安装脚本,这似乎是好的配方实践。[stefan]
3.2 - 2009-04-02
添加了新的zcml-additional选项。这对于通过zcml管理非代码配置(例如ore.contentmirror的数据库连接详情)的环境很有用。[wichert]
3.1 (2009-03-15)
2.9修复空格的问题导致使用debug(错误编号337740)时出现问题,因为do_debug将“-i”命令行参数传递给get_startup_cmd的方式。[smcmahon]
3.0 (2009-02-27)
2.9修复实例运行命令的问题本身是错误的,并且除了Windows之外都会失败。[smcmahon]
将zope2-egg选项更改为现在不创建任何类型的实例。mkzopeinstance脚本依赖于能够导入Zope2,而Zope2在buildout运行时是不可用的。[hannosch]
2.9 (2009-02-26)
实例运行命令容易受到路径中的空格的影响,并且需要为win32添加一些额外的引号。[smcmahon]
在修补之前检查windows脚本的存档。一些Linux发行版的Zope2没有这些文件。[smcmahon]
在win32上通过win32serviceutil.HandleCommand()委派命令,而不是通过os.system()启动解释器。这应该可以减少处理这些命令所需的总时间。[sidnei]
由于我们是以模块形式调用此命令,而不是直接以__main__形式调用,因此我们自行计算serviceClassString。否则,服务将无法正确安装。[sidnei]
2.8 (2008-12-05)
为带有blob和demo存储的ZEO客户端添加了更多测试。仍然没有对“shared-blob-dir”选项的测试。[encolpe]
始终使用'r'风格字符串传递脚本和配置文件名(例如,在'instance run <script>'上)。[sidnei]
添加了demo-storage选项和测试。[encolpe]
为blob-storage添加了第一个测试。[encolpe]
2.7 (2008-11-18)
为eggified Zope2添加了zope2-egg选项和相应的简单启动脚本。[hannosch]
不要因Zope2 egg checkout而失败。[hannosch]
标准化os.spawnl的第一个参数。否则可能会非常恼火(可移动Python安装的dll导入失败)。[sidnei]
对于servicescript的使用,使用与'do_foreground'相同的引号。修复了在包含空格的路径上安装基于buildout的Plone安装程序的问题。[sidnei]
确保do_foreground将self.options.program参数保留为找到它们的样子。这使得在同一个控制会话中可以多次使用'fg'和'debug'。[klm]
2.6 (2008-10-22)
在比较之前标准化、绝对化和将路径转换为小写,以避免相对文件名和Windows上不同的驱动器字母大小写引起的问题。[sidnei]
2.5 (2008-09-22)
从ZODB 3.9及更高版本开始,添加了对zodb-cache-size-bytes的支持。[wichert]
2.4 (2008-07-15)
引入了zope.conf变量“INSTANCEHOME”和“CLIENTHOME”。这在具有zope-conf-additional部分的集群设置中非常有用(buildout缺乏对当前部分的引用)。[jensens]
使测试命令与zope.testing 3.6兼容。[hannosch]
2.3.1 (2008-06-10)
没有代码更改。发布以修复2.3版本,该版本将.egg文件放在野外。[hannosch]
2.3 (2008-06-06)
实际上需要传递deprecation-warnings,否则我们会得到一个KeyError。[sidnei]
修复了另一个需要转义目录名以避免与空格相关问题的位置。[sidnei]
如果位置不存在,不要尝试删除它。[sidnei]
2.2 (2008-06-06)
添加了deprecation-warnings选项,允许开启或关闭禁用弃用警告。可以向其中提供值error,这样每个弃用警告都会被转换为异常。[sidnei]
修复了复制粘贴错误,导致将runzope.bat更改为调用servicewrapper.py时失败。[sidnei]
在传递给os.spawnl之前转义‘executable’参数,以便在可执行文件名包含空格时在Windows上正常工作。[sidnei]
添加了http-fast-listen选项。使用此选项需要Zope >= 2.11。[stefan]
2.1 (2008-06-05)
修复了Windows上的测试问题,其中需要显式关闭文件。[hannosch]
从runzope.bat中调用servicewrapper.py,而不是设置PYTHONPATH并调用Zope2/Startup/run.py。这样我们就可以在Python代码内部设置sys.path,并避免超过环境变量最大限制。[sidnei]
通过指定新的zodb-temporary-storage选项,允许使用替代的临时存储。[jensens]
添加了设置环境变量的environment-vars选项。将zope-conf-additional示例代码更改为不受配方覆盖的内容。[claytron]
2.0 (2008-05-29)
在启动Zope时,不要使用系统调用,而使用exec。这使得进程管理工具能够正确管理Zope进程。[wichert]
添加了site-zcml选项,并添加了测试。[mustapha]
添加了对ZEO身份验证的支持。请注意,目前此功能不与任何已发布的Zope或ZODB版本一起工作。有关所需补丁,请参阅http://mail.zope.org/pipermail/zope/2005-October/161951.html。[wichert]
添加了FTP和WebDAV选项。[claytron]
允许rel-storage为空字符串,这意味着“不使用relstorage”。这允许扩展的buildout配置再次禁用relstorage。[mj]
1.9 (2008-04-15)
修复了rel-storage解析具有空格的选项。请注意,split()或split(None)已经去除了字符串。[mj]
1.8 (2008-04-05)
修复了Win32问题,其中Python字符串转义在zope.conf的路径中存在(例如,d:botestpartsinstanceetczope.conf将转义b)。这在使用“run”、“debug”或“adduser”命令时出现。这修复了#211416。[smcmahon]
向实例脚本添加了console命令,它与fg等效,但不隐式打开调试模式,而是尊重zope.conf设置。[hannosch]
1.7 (2008-03-31)
添加了新的client-home选项,并将其默认值设置为buildout-wide var文件夹的子文件夹,子文件夹的名称与部分名称相同。[hannosch]
添加了对在Zope <= 2.8下运行测试的有限支持。[hannosch]
1.6 (2008-03-27)
修复了Zope 2.8的runzope脚本生成。[hannosch]
清理了“./bin/instance test”选项的处理。[stefan]
删除了生成器表达式,因为这些在< py2.4中不受支持,而zope 2.7/8使用的是它。[duffyd]
1.5 (2008-02-29)
添加了access-log-custom选项,以便能够使用除文件记录器之外的另一个事件记录器。[tarek]
修复了实例生成,使其能够在Windows路径名称中包含空格时正常工作。这关闭了#188023。[hannosch, gotti]
添加了‘zeo-client-client’选项,该选项在
内产生‘client <value>’。[timte, hannosch] 使relstorage处理更通用,现在它支持任何RelStorage适配器,包括Oracle(之前已损坏)。[mj]
1.4 (2008-02-23)
修复事件日志参数名称中的错误(从“z-log”更改为“z2-log”),以符合文档要求。这解决了#190943。[kdeldycke]
如果不存在,则创建pid和锁文件文件夹。[kdeldycke]
移除硬编码的日志级别,并使用event_log_level参数动态设置它。这解决了#190994。[kdeldycke]
添加了一个测试环境,使用zc.buildout.testing,并添加了一个尝试该食谱的doctest。[tarek]
添加了event-log-custom选项。[tarek]
添加了zope-conf-additional选项的示例。这解决了#185539。[klm, hannosch]
添加了rel-storage选项,以便将Zope连接到RelStorage(postgresql/oracle)数据库而不是FileStorage数据库。[tarek]
1.3
对于recipe-specified 'extra-paths'行中的每个条目,向实例和Zope客户端zope.conf文件添加一个'path'行。[klm]
1.2
添加了布尔shared-blob选项,默认为no。如果所有zeo-client、blob-storage和shared-blob选项都设置,则实例将假设由blob-storage设置的blob目录与服务器共享,而不是通过ZEO连接流式传输'blob'文件。[rochael]
将ctl.do_foreground(由fg命令行参数调用)在调试模式下启动Zope更改为模拟zopectl fg的行为。这需要一点特殊的WIN32代码,以确保它可以在*nix和Windows上正常工作。[smcmahon]
添加了var选项,用于配置所有将进入var的基础目录。[hannosch]
添加了zeo-var选项,用于在zeo存储片段中配置zeo var文件夹。[hannosch]
合并了rochael-blobsupport分支。为ZEO客户端添加了对ZODB 3.8 blob存储配置的支持。这参考了https://bugs.launchpad.net/collective.buildout/+bug/179113。[rochael, hannosch]
添加了zeo-client-name选项。默认值为ZEO客户端的名称。[hannosch]
1.1
进行了小的文档更新。添加了到bugtracker的链接。[hannosch]
将zope.conf选项“default-zpublisher-encoding”的默认值从Zope的默认值“iso-8859-15”更改为“utf-8”。
将PID文件的位置默认设置为“${buildout:directory}/var/${name}.pid”。将PID文件保留在$INSTANCE_HOME中,当buildout重建部分时会出现问题。[nouri, mustapha]
1.0
将‘zodb_cache_size’的默认值增加到5000,这在当今更有可能是更好的默认值。[hannosch]
添加了对‘extra-paths’的支持,类似于‘zc.recipe.egg’;这对于使用没有提供eggs的常规python包很有用,即使用‘plone.recipe.distros’。[witsch]
添加了zeo-storage选项(合并分支ree-add-zeo-storage-option)。[ree]
避免在buildout中指定的eggs中重复条目:在安装脚本('bin/instance')时,工作集('ws')再次传递,但不会也添加到'extra_paths'。[witsch]
在Zope启动脚本中修补‘PYTHONPATH’时,应先插入所有附加路径(到eggs),然后再插入‘SOFTWARE_HOME’,否则(较新的)egg版本的Zope标准分发中的组件(即位于‘lib/python’中的东西)无法使用。[witsch]
将抑制弃用警告的选项更改为“–nowarn”或“–nowarning”,以与“zopectl test”保持一致。[witsch]
添加了“-w”选项,以允许测试运行器抑制弃用警告,这样更容易发现失败的测试……[witsch]
更新了Zope 2.7(及以下)兼容性的导入。[duffyd]
将-r51966:52659 claytron-zopeconfoptions分支合并到主分支。[claytron]
在保持结果缩进正确的同时使配置片段更美观。[witsch]
0.9
添加了对zodb 3.8的“<blobstorage>”指令的支持。[witsch]
在调用zope.testing.testrunner.run之前添加了脚本名称参数。zope.testing.testrunner:1772,get_options从参数列表中删除了第一个参数,期望在那里有一个脚本名称。这导致“bin/instance test”行为不正常。[rossp]
0.8
如果存在,则使用bin,否则回退到工具。这使得可以使用从tarball安装的Zope版本,而无需就地编译。[rossp]
0.7
发现了奇怪环境变量的问题。[hannosch]
修复了文档中的错误,缓存大小现在也被非ZEO实例所尊重。[hannosch]
0.6
J1m 实际上阅读了文档 ;)[hannosch]
尝试修复测试运行器找到的有时数量惊人的测试。[hannosch]
0.5
添加了一个设置有效用户的选项。[optilude]
0.4
生成一个 bin/repozo 脚本,用于使用 repozo.py 进行备份(并为该操作设置适当的 pythonpath)。[optilude]
正确记录选项,并添加了明确指定 zope.conf 文件的能力,而不是从模板生成。[optilude]
0.3
最终找到了为 Zope Windows 服务提供正确环境的方法。我们需要一个新的包装脚本,该脚本设置 PYTHONPATH。[hannosch]
使能够通过 [instance] 部分的 control-script 选项配置 zopectl 脚本名称。[wichert]
0.2
扩展对 zcml slugs 的支持,包括 Zope 2.9。[dunny]
添加了创建 ZEO 客户端的支持。[regebro]
0.1
初始实现。[hannosch]
项目详情
isotoma.recipe.zope2instance-0.0.6.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 63ce1757fe43febacad167705d0a08accfd1e8884f06449fae7359ff17362530 |
|
MD5 | 8325d116a30b36f9c769ad65e39e488b |
|
BLAKE2b-256 | 6c45388065d1544c0215da6c96b06427920d99e8fd5d1736de37e38e0d270627 |