webgui/README
Scott Walters ae64037876 Move the WebGUI 8 install docs to docs/install.txt but leave a brief
checklist in README for advanced users to quickly see what they need
to do to fire up WebGUI 8.
2011-04-27 20:02:27 -04:00

44 lines
1.7 KiB
Text

This is the PSGI branch of WebGUI8
To try this out:
0) Start from WebGUI 7.10.4 or the example .conf and create.sql that comes with WebGUI 8
1) Run testEnvironment.pl to install Plack
2) Get a new wgd from http://haarg.org/wgd
3) $ wgd reset --upgrade
4) $ cd /data/WebGUI (or whereever you unpacked it)
5) $ rsync -r -a (or cp -a) /data/WebGUI/www/extras /data/domains/www.example.com/public/
6) $ export PERL5LIB='/data/WebGUI/lib:/data/WebGUI/t/lib'
To start it:
7) $ plackup app.psgi
See docs/install.txt for more detailed installation instructions.
Currently, the best performance is achieved via:
plackup -E none -s Starman --workers 10 --disable-keepalive
You can benchmark your server via:
ab -t 3 -c 10 -k http://dev.localhost.localdomain:5000/ | grep Req
I'm currently getting 370 requests/second, whereas I'm getting 430/second on the non-PSGI WebGUI8 branch.
= ARCHITECTURE =
* The root level app.psgi file loads all the config files found and
loads the site specific psgi file for each, linking them to the
proper host names.
* The site psgi file uses the WEBGUI_CONFIG environment variable to find the config.
* It instantiates the $wg WebGUI object (one per app).
* $wg creates and stores the WebGUI::Config (one per app)
* $wg creates the $app PSGI app code ref (one per app)
* WebGUI::Middleware::Session is wrapped around $app at the outer-most layer so that it can open and
close the $session WebGUI::Session. Any other wG middleware that needs $session should go in between
it and $app ($session created one per request)
* $session creates the $request WebGUI::Session::Request and $response WebGUI::Session::Response
objects (one per request)