G
Graham Dumpleton
blog.dscpl.com.au · Personal blog · on HN since 2008
Graham Dumpleton, author of mod_wsgi, writes about hosting Python web applications, Apache, nginx and Python decorators.
What HN saysHN commenters recommend him as the Python world's web hosting expert and link his posts on nginx, mod_wsgi and decorators.
23HN people shared it
5linked it in comments
19stories submitted
110story points
9 years agolast shared
2008people per year2026
Most-shared posts
- 1Blocking requests and nginx version of3 people · first shared 2009
- 2How you implemented your Python decorator is wrong2 people · 1 points · first shared 2014 · discussion on HN
- 3The mod_python project is now officially dead.1 people · 39 points · first shared 2010 · 3 comments on HN
- 4Improved WSGI script for Django (by mod-wsgi author)1 people · 27 points · first shared 2010 · 1 comments on HN
- 5Mod_python project soon to be officially dead1 people · 9 points · first shared 2010 · discussion on HN
- 6Version 2.0 of mod_wsgi is now available.1 people · 5 points · first shared 2008 · 1 comments on HN
- 7Let me Google that for you1 people · 5 points · first shared 2012 · discussion on HN
- 8Building a better user experience for deploying Python web applications1 people · 3 points · first shared 2016 · discussion on HN
- 9Is PEP 3333 the final solution for WSGI on Python 3?1 people · 2 points · first shared 2010 · discussion on HN
- 10A roadmap for the Python WSGI implementation.1 people · 2 points · first shared 2009 · discussion on HN
- 11Musings about PaaS and running many small micro services1 people · 2 points · first shared 2015 · discussion on HN
- 12Transparent object proxies in Python1 people · 2 points · first shared 2014 · 1 comments on HN
- 13Solving some of the problems with wsgi.file_wrapper1 people · 2 points · first shared 2011 · discussion on HN
- 14The “Decorator Pattern” vs. The Python “wrapt” Package1 people · 2 points · first shared 2018 · discussion on HN
- 15Load spikes and excessive memory usage in mod_python1 people · 2 points · first shared 2009 · discussion on HN
What HN people wrote when they linked it
davepeck · 2012-05-14
It's worth pointing to Graham Dumpleton's blog [1] -- he seems to be the Python world's web hosting ninja. See the great slide deck [2] from his recent talk on hosting python web apps [3] -- the deck nicely captures the recent state of the world.
Apache2 + mod_wsgi in Daemon mode is probably the most common approach (especially for VPSs), although I know several people who prefer nginx + gunicorn + supervisor. Both are sane and stable options at this point. (The python web frameworks themselves all speak WSGI and there are about seventeen million of 'em to choose from.)
[1] http://blog.dscpl.com.au/
[2] http://modwsgi.googlecode.com/files/mod_wsgi-pycon-sydney-2011.pdf
[3] http://www.youtube.com/watch?v=PWIvm-uloMg
bad_user · 2011-06-07
It's not the same - you have to compile Nginx with mod_wsgi support. It's not as simple as doing an "apt-get install nginx" and it may compile with your version, or it may not compile.
Also, read this: http://blog.dscpl.com.au/2009/05/blocking-requests-and-nginx-version-o…
mod_wsgi is an interesting example. Surely it has the wrong architecture for Nginx and something better could surely be written. But mod_wsgi for Apache simply kicks ass, being a server that manages everything for you with low overhead and good performance caracteristics. No need for supervisord or any of that crap.
Some people go as far as recommending running Nginx in front of Apache, with all the overhead that brings, just for mod_wsgi (although the same could be said about mod_php).
That's the thing about Apache - it's so mature and has so much traction that you can find quality plugins for anything and everything, being an all you can eat buffet.
But then if you're going to put Nginx in front of Apache, why go with Nginx instead of Varnish: http://www.varnish-cache.org/ -- which is designed from the ground-up to function as a high-performance proxy cache (the Nginx plugin for proxy caching sucks donkey balls IMHO)
What I'm trying to say here is that Nginx is very far from a one-size-fits-all. It's awesome for at least one website I've got written in Ruby on Rails and I'm using it in combination with Passenger (Ruby's mod_wsgi).
But for all my other use-cases, I'm starting with Apache…
celias · 2015-09-14
There's also Graham Dumpleton's "How you implemented your Python decorator is wrong" blog post -
http://blog.dscpl.com.au/2014/01/how-you-implemented-your-python.html
and the related "Decorators and monkey patching" list
http://blog.dscpl.com.au/p/decorators-and-monkey-patching.html
yesimahuman · 2010-02-23
Specifically this link: http://blog.dscpl.com.au/2009/05/blocking-requests-and-nginx-version-o…
moe · 2009-11-21
As far as I know (correct me if I'm wrong) passenger is maintenance free. Anything else wouldn't make much sense anyways. It maintains a pool of workers and distributes load over them, just as it should be.
mod_wsgi for apache seems to do the same so I should have been more specific: I'm still waiting for a proper mod_wsgi for nginx. The nginx mod_wsgi is not the same as the apache version. It has some very unfortunate problems which effectively rule it out for production use:
http://blog.dscpl.com.au/2009/05/blocking-requests-and-nginx-version-o…