Sie sind hier: Startseite / Dokumentation und Support / Tutorials / ZEO-Clients und ZEO-Server als Windows-Dienst

ZEO-Clients und ZEO-Server als Windows-Dienst

Wie man die Windows-Dienste in einer ZEO-Konfiguration einrichtet.

In einer Produktionsumgebung verwendet man üblicherweise eine Zope Enterprise Objects (ZEO)-Konfiguration. Bei dieser gibt es:

  • ein ZEO-Server, der Daten aus der Zope-Datenbank ZODB liefert
  • ein oder mehrere Zope-Instanzen als ZEO-Clients, die mit dem ZEO-Server kommunizieren.

In einer Buildout-Umgebung bestimmt die Datei deployment.cfg die Konfiguration von ZEO:

[buildout]

extends =
    buildout.cfg

parts =
    zope2
    productdistros
    zeoserver
    primary
    secondary

[productdistros]
recipe = plone.recipe.distros
urls =
nested-packages =
version-suffix-packages =

[zeoserver]
recipe = plone.recipe.zope2zeoserver
zope2-location = ${zope2:location}
zeo-address = 33519

[primary]
recipe = plone.recipe.zope2instance
zope2-location = ${zope2:location}
zeo-client = true
zeo-address = 33519
zodb-cache-size = 5000
zeo-client-cache-size = 300MB
user = admin:*****
http-address = 33511
debug-mode = off
verbose-security = off eggs =
    Plone
    ${buildout:eggs} zcml = products =
    ${buildout:directory}/products
    ${productdistros:location}

[secondary]
recipe = plone.recipe.zope2instance
zope2-location = ${zope2:location}
zeo-client = true
zeo-address = 33519
zodb-cache-size = 5000
zeo-client-cache-size = 300MB
user = ${primary:user}
http-address = 33512
debug-mode = on
verbose-security = on
eggs = ${primary:eggs}
zcml = ${primary:zcml}
products = ${primary:products}
zope-conf-additional =
    zserver-threads 1
    <ftp-server>
        address 8021
    </ftp-server>   

In dem hier verwendeten Setup ist der Secondary für Debug-Zwecke vorgesehen und stellt zudem einen FTP-Zugang bereit, über den Massen-Uploads vorgenommen werden können.

Der Deployment-Buildout wird wie folgt gestartet:

D:\deployment> .\bin\buildout -c deployment.cfg

Danach kann der ZEO-Server als Dienst installiert werden (gilt für Plone 3.3.5):

D:\deployment> .\bin\zeoserver_service --startup auto install

in frühreren Plone-Versionen (z.B. 3.2.2)

D:\deployment> .\bin\zeoservice --startup auto install

Die Startart "auto" sorgt dafür, dass der Dienst beim Systemstart automatisch gestartet wird.

Für die ZEO-Clients muss man ein Python-Skript im Unterordner der jeweiligen Instanz aufrufen:

D:\deployment\parts\primary\bin> python zopeservice.py --startup auto install
D:\deployment\parts\secondary\bin> python zopeservice.py install

Anschließend sind die Dienste unter Windows verfügbar und können dort gestartet und gestoppt werden.

Wenn man die Dienste wieder los haben will, geht das wie folgt:

D:\deployment\parts\primary\bin> python zopeservice.py remove
D:\deployment\parts\secondary\bin> python zopeservice.py remove
D:\deployment> .\bin\zeoserver_service remove