Plone 4.3.3을 하나의 사이트에 설치했습니다. 먼저 buildout은 var/filestorage의 Data.fs 파일과 var/blobstorage의 공유 blob 저장소를 사용하도록 구성되었습니다. 그런 다음 Buildout에 Relstorage를 추가하고 Data.fs 파일의 내용을 기본 MySQL 데이터베이스로 변환했습니다. 이제 Plone은 Data.fs. 대신 Relstorage를 사용하고 있습니다.Plone에서 Blob 저장소로 Relstorage를 사용하도록 구성
하지만 지금은 BLOB 저장소 대신 Relstorage도 사용하고 싶습니다. Plone과 Relstorage에 대해 상대적으로 새로운 사람이기 때문에 처음으로 새로운 Plone을 설치하는 것이 좋습니다. 그런 다음 buildout.cfg와 base.cfg를 첫 번째 것에서 새로운 것으로 복사했습니다. 그런 다음 새 데이터베이스 userZodb를 만들고 새 데이터베이스를 사용하기 위해 base.cfg를 변경했으며 zeoserver 및 클라이언트의 포트도 변경했습니다. 다음 단계는 파일 기반 BLOB 저장소를 사용하지 않기 위해 relstorage를 재구성하는 것이 었습니다.
rel-storage =
type mysql
db userZodb
user zodbuser
passwd innzop
blob-dir ${buildout:var-dir}/blobstorage
shared-blob-dir false
# shared blobs are much faster if we're on the same server.
# if not, turn it off.
shared-blob = off
그런 다음 빌드 아웃을 실행했습니다. 모든 것이 성공적으로 구축되었습니다. Zeoserver를 시작한 후 클라이언트에서이 오류가 발생했습니다.
[email protected]:~/Plone433-dev/zeocluster3$ ./bin/zeoserver start
.
daemon process started, pid=35136
[email protected]:~/Plone433-dev/zeocluster3$ ./bin/client1 fg
2014-12-17 14:50:31 INFO ZServer HTTP server started at Wed Dec 17 14:50:31 2014
Hostname: 0.0.0.0
Port: 9180
2014-12-17 14:50:32 INFO Products.PloneFormGen gpg_subprocess initialized, using /usr/bin/gpg
Traceback (most recent call last):
File "/home/user/Plone433-dev/zeocluster3/parts/client1/bin/interpreter", line 289, in <module>
exec(compile(__file__f.read(), __file__, "exec"))
File "/home/user/Plone433-dev/buildout-cache/eggs/Zope2-2.13.22-py2.7.egg/Zope2/Startup/run.py", line 76, in <module>
run()
File "/home/user/Plone433-dev/buildout-cache/eggs/Zope2-2.13.22-py2.7.egg/Zope2/Startup/run.py", line 22, in run
starter.prepare()
File "/home/user/Plone433-dev/buildout-cache/eggs/Zope2-2.13.22-py2.7.egg/Zope2/Startup/__init__.py", line 86, in prepare
self.startZope()
File "/home/user/Plone433-dev/buildout-cache/eggs/Zope2-2.13.22-py2.7.egg/Zope2/Startup/__init__.py", line 262, in startZope
Zope2.startup()
File "/home/user/Plone433-dev/buildout-cache/eggs/Zope2-2.13.22-py2.7.egg/Zope2/__init__.py", line 47, in startup
_startup()
File "/home/user/Plone433-dev/buildout-cache/eggs/Zope2-2.13.22-py2.7.egg/Zope2/App/startup.py", line 81, in startup
DB = dbtab.getDatabase('/', is_root=1)
File "/home/user/Plone433-dev/buildout-cache/eggs/Zope2-2.13.22-py2.7.egg/Zope2/Startup/datatypes.py", line 287, in getDatabase
db = factory.open(name, self.databases)
File "/home/user/Plone433-dev/buildout-cache/eggs/Zope2-2.13.22-py2.7.egg/Zope2/Startup/datatypes.py", line 185, in open
DB = self.createDB(database_name, databases)
File "/home/user/Plone433-dev/buildout-cache/eggs/Zope2-2.13.22-py2.7.egg/Zope2/Startup/datatypes.py", line 182, in createDB
return ZODBDatabase.open(self, databases)
File "/home/user/Plone433-dev/buildout-cache/eggs/ZODB3-3.10.5-py2.7-linux-x86_64.egg/ZODB/config.py", line 101, in open
storage = section.storage.open()
File "/home/user/Plone433-dev/buildout-cache/eggs/RelStorage-1.6.0b2-py2.7.egg/relstorage/config.py", line 33, in open
return RelStorage(adapter, name=config.name, options=options)
File "/home/user/Plone433-dev/buildout-cache/eggs/RelStorage-1.6.0b2-py2.7.egg/relstorage/storage.py", line 212, in __init__
self.blobhelper = BlobHelper(options=options, adapter=adapter)
File "/home/user/Plone433-dev/buildout-cache/eggs/RelStorage-1.6.0b2-py2.7.egg/relstorage/blobhelper.py", line 118, in __init__
fshelper.create()
File "/home/user/Plone433-dev/buildout-cache/eggs/ZODB3-3.10.5-py2.7-linux-x86_64.egg/ZODB/blob.py", line 359, in create
(self.layout_name, self.base_dir, layout))
ValueError: Directory layout `zeocache` selected for blob directory /home/user/Plone433-dev/zeocluster3/var/blobstorage/, but marker found for layout `bushy`
불행 이러한 문제가 발생할 수있는 위치는 알 수 없습니다. 누구 제안? 감사합니다.
이 뉴스는 어떤 것입니까? – Mathias
@Mathias : 방금 내 솔루션을 추가했습니다. – Nicolas