in general paster > mod_wsgi out of the box for small sites. mod_wsgi
> paster ones you know what you are dealing with.
More details below
On Wed, Apr 29, 2009 at 3:55 PM, Derick Eisenhardt
<derick.e...@gmail.com> wrote:
>
> I'm getting ready to setup a site that could potentially have quite a
> bit of traffic (at least in bursts). I've already decided I want to
> use nginx as my front-end/reverse-proxy server. However, I'm not sure
> what my setup should be beyond that.
You should also configure nginx to serve all your static content, that
is one of the biggest advantages of it.
>
> I've already done a successful test simply using nginx to proxy to a
> standard paster/virtualenv setup. Would it be faster/more efficient to
> use Apache + modwsgi, as from what I'm reading Apache is multi-
> threaded and paster isn't?
actually this is incorrect. paster is multithreaded, but apache is
able to run in multiprocess mode which on linux is better than
threads.
> I'm also unsure as to how that works. It
> appears when using Apache+modwsgi it replaces paster, or do you still
> have to run paster too, thus effectively running 3 different services?
>
yes you get rid of paster and use modwsgi as your wsgi server, there
is an article/program in the docs that sets this up for you.
> My current assumption is if there's alot of cacheable content Paster +
> nginx would be just fine, but if I'm gonna have a bunch of unique,
> user specific requests I'd probably want to use Apache/WSGI + nginx.
the bottom line here is that a badly configured apache+mod_wsgi could
scrawl while a stock paster is good.
> Am I right? And come someone with more experience please expound on
> this?
>
hope that helps.
> thanks!
> - Derick
>
> PS: We really really really need some guides/faqs/how-tos in the new
> TG2 docs about such topics (most of the info I've found came from
> mailing lists or the Pylons site)
Totally agreed, deployment is probably the worst part of our docs.
It's probably because we have so many alternatives that it hurts, but
we should have documentation of at least those two options.
The only exception to this is when you make extensive use of features
of the webserver.
The example that comes to mind immediately is the nginx-memcached
plugin which serves rendered pages up out of memcache directly. If
your application can work with this world view, you can get really
significant performance benefits by effectively cutting your app code
entirely out of the request/response and just letting the web server
do it.
But at that point the web server is effectively a part of your
application stack, and not just a WSGI server ;)
--Mark Ramm