[Repoze-dev] Plone on repoze + configuration details

Paul Everitt paul at agendaless.com
Sun Sep 23 14:47:56 UTC 2007


This is cool news!

Is it to the point yet that I should give things a try and see if I  
can document it for morons like me?

--Paul

On Sep 23, 2007, at 4:08 AM, Chris McDonough wrote:

> Plone running on top of the "repoze.zope2" (aka z2bob) package:
>
>   http://www.repoze.org/tmp/plone
>
> I set it up so you can join and whatnot, although (as belied by the  
> URL name) this is just temporary.  In cursory clicking-around  
> investigation, it seems to mostly work; I got one traceback from  
> attempting to respond to the "activation" method in the email which  
> I haven't investigated yet.
>
> This is Apache + mod_wsgi + repoze.zope2 (unreleased) + Zope 2.10.4/ 
> ZEO + Plone 3.0.1.
>
> The following Apache configuration:
>
> """
> WSGIPythonExecutable /home/repoze/tmp/site/bin/python
> WSGIDaemonProcess tmp threads=1 processes=4 maximum-requests=10000
>
> <Directory /home/repoze/tmp/site/etc>
>   Order deny,allow
>   Allow from all
> </Directory>
>
> <VirtualHost *:80>
>   DocumentRoot /home/repoze/www/www.repoze.org
>   ServerName www.repoze.org
>   ScriptAlias /viewcvs "/usr/lib/cgi-bin/viewcvs.cgi"
>   ServerAdmin repoze-dev at repoze.org
>   WSGIScriptAlias /tmp /home/repoze/tmp/site/etc/zope2.wsgi
>   WSGIProcessGroup tmp
>   WSGIPassAuthorization On
>   SetEnv HTTP_X_VHM_HOST http://www.repoze.org/tmp
> </VirtualHost>
> """
>
> I guess the sort of configuration we'll end up with as a deployment  
> target.  It runs four single-threaded Python processes, each of  
> which is essentially running Zope courtesy of repoze.   mod_wsgi  
> communicates with each of the processes via pipes.
>
> The zope2.wsgi wrapper is:
>
> """
> import os
> from paste.deploy import loadapp
>
> ini = os.path.join(os.path.abspath(os.path.dirname(__file__)),  
> 'zope2.ini')
> application = loadapp('config:%s' % ini)
> """
>
> The zope.conf is:
>
>
> """
> %define INSTANCE /home/repoze/tmp/site
> %define LOGDIR $INSTANCE/logs
>
> instancehome $INSTANCE
> products $INSTANCE/Products
> debug-mode on
>
> <eventlog>
>   level info
>   <logfile>
>     path STDERR
>     level info
>   </logfile>
> </eventlog>
>
> <logger access>
>   level WARN
>   <logfile>
>     path STDERR
>     format %(message)s
>   </logfile>
> </logger>
>
> <zodb_db temporary>
>     mount-point /temp_folder
>     <temporarystorage>
>       name sessions
>     </temporarystorage>
>     container-class Products.TemporaryFolder.TemporaryContainer
> </zodb_db>
>
> <zodb_db main>
>     mount-point /
>     <zeoclient>
>     server 127.0.0.1:8100
>     cache-size 10MB
>     storage 1
>     name zeostorage
>     var $INSTANCE/var
>     </zeoclient>
> </zodb_db>
> """
>
> And the paste pipeline looks like this:
>
> """
> [DEFAULT]
> debug = True
>
> [app:zope2]
> paste.app_factory = repoze.obob.publisher:make_obob
> repoze.obob.get_root = repoze.zope2.z2bob:get_root
> repoze.obob.initializer = repoze.zope2.z2bob:initialize
> repoze.obob.helper_factory = repoze.zope2.z2bob:Zope2ObobHelper
> zope.conf = %(here)s/zope.conf
>
> [pipeline:main]
> pipeline = egg:Paste#cgitb egg:Paste#httpexceptions  
> egg:repoze.retry#retry
>            egg:repoze.tm#tm egg:repoze.vhm#vhm_xheaders zope2
> """
>
> We get about 100 requests/sec against the Zope Quickstart page from  
> this configuration, which is about equivalent to plain-old-Zope  
> running via ZServer on the same box.
>
> We had planned to creating a "repoze.z2compat" package, which would  
> be a WSGI application that foregoes repoze.obob and uses the Zope  
> request traverse method to do object traversal.  But if it turns  
> out that Plone runs well enough on top of "z2bob" we might not have  
> to do that.
>
> Anyway, I think if we can figure out the intermittent skins problem  
> I mentioned under the development server (which still seems to  
> exist under the "zserver" server I created), I think we can  
> probably start to package things up in anger.
>
> - C
>
> _______________________________________________
> Repoze-dev mailing list
> Repoze-dev at lists.repoze.org
> http://lists.repoze.org/mailman/listinfo/repoze-dev

_______________________________________________
Repoze-dev mailing list
Repoze-dev at lists.repoze.org
http://lists.repoze.org/mailman/listinfo/repoze-dev



More information about the Repoze-dev mailing list