How to set up multiple plone instances (different databases) and varnish

1 message Options
Embed this post
Permalink
hschier () How to set up multiple plone instances (different databases) and varnish
Reply Threaded More More options
Print post
Permalink
Actually we have 2 plone websites. One with the standard buildout and one with a deployment buildout. The first should get a deployment buildout too, but we cannot start two different ZEOServer and it would be nice to have one server and multiple instances (in our case 2).

Here we go:
The main buildout.cfg is very small and has all similarities.

deployment.cfg:
-----
[buildout]
extends =
    buildout.cfg

parts =
    plone
    zope2
    productsfirst
    productssecond
    zeoserver
    primary
    secondary

eggs = ...
develop = ...

[productsfirst]
...

[productssecond]
...
[zeoserver]
recipe = plone.recipe.zope2zeoserver
zope2-location = ${zope2:location}
zeo-adress = 8100
zeo-conf-additional =
    <filestorage 2>
      path ${buildout:directory}/var/filestorage/Data.second.fs
    </filestorage>

    <filestorage 3>
      path ${buildout:directory}/var/filestorage/Data.third.fs
    </filestorage>

[primary]
recipe = plone.recipe.zope2instance
zope2-location = ${zope2:location}
zeo-client = true
zeo-address = ${zeoserver:zeo-adress}
zodb-cache-size = 10000
zeo-client-cache-size = 500MB
user = #####
http-address = 8080
debug-mode = on
verbose-security = on

eggs =    
    ${buildout:eggs}
    ${plone:eggs}
    first.policy
    first.theme

zcml = ...

products =
    ${buildout:directory}/products
    ${productsfirst:location}
    ${plone:products}

zope-conf-additional =
    <zodb_db second>
      cache-size 10000
      <zeoclient>
        server ${zeoserver:zeo-adress}
        storage 2
        name zeostorage
        var ${buildout:directory}/var
        cache-size 500MB
      </zeoclient>
      mount-point /secondmount
    </zodb_db>

[secondary]
...
-----

You see, we have 2 different databases, 2 different plone sites with different products.
If I set the mount point in instance 1, I have a broken mount point in instance 2 for the same Database. Not nice, but it works.
Is this the right way? Or how is the correct way?

And my second question: How can i setup a varnish in front? Before I had in my deployment.cfg:
-----
[varnish-build]
recipe = zc.recipe.cmmi
url = http://downloads.sourceforge.net/varnish/varnish-2.0.3.tar.gz

[varnish-instance]
recipe = plone.recipe.varnish:instance
daemon = ${buildout:directory}/parts/varnish-build/sbin/varnishd
bind = 127.0.0.1:8082
cache-size = 512M
config = ${buildout:directory}/plone.vcl
-----


plone.vcl:
-----
backend default {
    .host = "127.0.0.1";
    .port = "8080";
}

acl purge {
    "localhost";
}

...(and so on)
-----