<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: modwsgi</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/modwsgi.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2010-02-19T14:28:35+00:00</updated><author><name>Simon Willison</name></author><entry><title>jacobian's django-deployment-workshop</title><link href="https://simonwillison.net/2010/Feb/19/jacobians/#atom-tag" rel="alternate"/><published>2010-02-19T14:28:35+00:00</published><updated>2010-02-19T14:28:35+00:00</updated><id>https://simonwillison.net/2010/Feb/19/jacobians/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://github.com/jacobian/django-deployment-workshop"&gt;jacobian&amp;#x27;s django-deployment-workshop&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Notes and resources from Jacob’s 3 hour Django deployment workshop at PyCon, including example configuration files for Apache2 + mod_wsgi, nginx, PostgreSQL and pgpool.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/apache"&gt;apache&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/deployment"&gt;deployment&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/django"&gt;django&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jacob-kaplan-moss"&gt;jacob-kaplan-moss&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/modwsgi"&gt;modwsgi&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/nginx"&gt;nginx&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/pgpool"&gt;pgpool&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/postgresql"&gt;postgresql&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/pycon"&gt;pycon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/sysadmin"&gt;sysadmin&lt;/a&gt;&lt;/p&gt;



</summary><category term="apache"/><category term="deployment"/><category term="django"/><category term="jacob-kaplan-moss"/><category term="modwsgi"/><category term="nginx"/><category term="pgpool"/><category term="postgresql"/><category term="pycon"/><category term="python"/><category term="sysadmin"/></entry><entry><title>Why toppcloud will not be agnostic</title><link href="https://simonwillison.net/2010/Feb/12/toppcloud/#atom-tag" rel="alternate"/><published>2010-02-12T09:21:32+00:00</published><updated>2010-02-12T09:21:32+00:00</updated><id>https://simonwillison.net/2010/Feb/12/toppcloud/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://blog.ianbicking.org/2010/02/10/why-toppcloud-not-agnostic/"&gt;Why toppcloud will not be agnostic&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Ian Bicking’s toppcloud aims to offer deployment with the ease of use of AppEngine against a standard, open source Ubuntu + Python 2.6 + mod_wsgi + Varnish stack. Here he explains why he’s not going to vary the required components: keeping everything completely standardised means everyone gets the same bugs (and the same fixes).


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/deployment"&gt;deployment&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/django"&gt;django&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/google-app-engine"&gt;google-app-engine&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ian-bicking"&gt;ian-bicking&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/modwsgi"&gt;modwsgi&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/toppcloud"&gt;toppcloud&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ubuntu"&gt;ubuntu&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/varnish"&gt;varnish&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/wsgi"&gt;wsgi&lt;/a&gt;&lt;/p&gt;



</summary><category term="deployment"/><category term="django"/><category term="google-app-engine"/><category term="ian-bicking"/><category term="modwsgi"/><category term="python"/><category term="toppcloud"/><category term="ubuntu"/><category term="varnish"/><category term="wsgi"/></entry><entry><title>Fabric, Django, Git, Apache, mod_wsgi, virtualenv and pip deployment</title><link href="https://simonwillison.net/2009/Jul/28/fabric/#atom-tag" rel="alternate"/><published>2009-07-28T11:56:09+00:00</published><updated>2009-07-28T11:56:09+00:00</updated><id>https://simonwillison.net/2009/Jul/28/fabric/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://morethanseven.net/2009/07/27/fabric-django-git-apache-mod_wsgi-virtualenv-and-p/"&gt;Fabric, Django, Git, Apache, mod_wsgi, virtualenv and pip deployment&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
I’m slowly working my way through this stack at the moment—next stop, fabric.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/apache"&gt;apache&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/deployment"&gt;deployment&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/django"&gt;django&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/fabric"&gt;fabric&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/gareth-rushgrove"&gt;gareth-rushgrove&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/git"&gt;git&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/modwsgi"&gt;modwsgi&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/pip"&gt;pip&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/virtualenv"&gt;virtualenv&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/wsgi"&gt;wsgi&lt;/a&gt;&lt;/p&gt;



</summary><category term="apache"/><category term="deployment"/><category term="django"/><category term="fabric"/><category term="gareth-rushgrove"/><category term="git"/><category term="modwsgi"/><category term="pip"/><category term="python"/><category term="virtualenv"/><category term="wsgi"/></entry><entry><title>Scaling Django web apps on Apache</title><link href="https://simonwillison.net/2009/Apr/10/scaling/#atom-tag" rel="alternate"/><published>2009-04-10T09:23:21+00:00</published><updated>2009-04-10T09:23:21+00:00</updated><id>https://simonwillison.net/2009/Apr/10/scaling/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.ibm.com/developerworks/opensource/library/os-django/index.html"&gt;Scaling Django web apps on Apache&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Cool to see this kind of article cropping up on IBM developerWorks, but it’s a shame they don’t mention mod_wsgi.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/apache"&gt;apache&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/django"&gt;django&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ibm"&gt;ibm&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/modwsgi"&gt;modwsgi&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;&lt;/p&gt;



</summary><category term="apache"/><category term="django"/><category term="ibm"/><category term="modwsgi"/><category term="python"/></entry><entry><title>How to use Django with Apache and mod_wsgi</title><link href="https://simonwillison.net/2009/Apr/1/modwsgi/#atom-tag" rel="alternate"/><published>2009-04-01T00:24:04+00:00</published><updated>2009-04-01T00:24:04+00:00</updated><id>https://simonwillison.net/2009/Apr/1/modwsgi/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://docs.djangoproject.com/en/dev/howto/deployment/modwsgi/"&gt;How to use Django with Apache and mod_wsgi&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
My favourite deployment option is now included in the official Django docs, thanks to Alex Gaynor. I tend to run a stripped down Apache with mod_wsgi behind an nginx proxy, and have nginx serve static files directly. This avoids the need for a completely separate media server (although a separate media domain is still a good idea for better client-side performance).


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/alex-gaynor"&gt;alex-gaynor&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/deployment"&gt;deployment&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/django"&gt;django&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/modwsgi"&gt;modwsgi&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/nginx"&gt;nginx&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/proxies"&gt;proxies&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/wsgi"&gt;wsgi&lt;/a&gt;&lt;/p&gt;



</summary><category term="alex-gaynor"/><category term="deployment"/><category term="django"/><category term="modwsgi"/><category term="nginx"/><category term="proxies"/><category term="python"/><category term="wsgi"/></entry><entry><title>Future roadmap for mod_wsgi</title><link href="https://simonwillison.net/2009/Mar/19/modwsgi/#atom-tag" rel="alternate"/><published>2009-03-19T17:27:01+00:00</published><updated>2009-03-19T17:27:01+00:00</updated><id>https://simonwillison.net/2009/Mar/19/modwsgi/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://blog.dscpl.com.au/2009/03/future-roadmap-for-modwsgi.html"&gt;Future roadmap for mod_wsgi&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
mod_wsgi 3.0 isn’t too far off, and will include Python 3.0 support, WSGI application preloading and internal web server redirection (similar to nginx X-Accel-Redirect). Version 4.0 plans a major architectural change that will allow multiple versions of Python to be run from the same Apache.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/apache"&gt;apache&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/graham-dumpleton"&gt;graham-dumpleton&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/modwsgi"&gt;modwsgi&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/nginx"&gt;nginx&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/wsgi"&gt;wsgi&lt;/a&gt;&lt;/p&gt;



</summary><category term="apache"/><category term="graham-dumpleton"/><category term="modwsgi"/><category term="nginx"/><category term="python"/><category term="wsgi"/></entry><entry><title>Load spikes and excessive memory usage in mod_python</title><link href="https://simonwillison.net/2009/Mar/16/graham/#atom-tag" rel="alternate"/><published>2009-03-16T17:26:59+00:00</published><updated>2009-03-16T17:26:59+00:00</updated><id>https://simonwillison.net/2009/Mar/16/graham/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://blog.dscpl.com.au/2009/03/load-spikes-and-excessive-memory-usage.html"&gt;Load spikes and excessive memory usage in mod_python&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
“The final answer? Stop using mod_python, use mod_wsgi and run it with daemon mode instead. You will save yourself a lot of headaches by doing so.”


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/apache"&gt;apache&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/graham-dumpleton"&gt;graham-dumpleton&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/modpython"&gt;modpython&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/modwsgi"&gt;modwsgi&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/wsgi"&gt;wsgi&lt;/a&gt;&lt;/p&gt;



</summary><category term="apache"/><category term="graham-dumpleton"/><category term="modpython"/><category term="modwsgi"/><category term="python"/><category term="wsgi"/></entry><entry><title>The Django and Ubuntu Intrepid Almanac</title><link href="https://simonwillison.net/2009/Feb/14/comprehensive/#atom-tag" rel="alternate"/><published>2009-02-14T15:42:58+00:00</published><updated>2009-02-14T15:42:58+00:00</updated><id>https://simonwillison.net/2009/Feb/14/comprehensive/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://lethain.com/entry/2009/feb/13/the-django-and-ubuntu-intrepid-almanac/"&gt;The Django and Ubuntu Intrepid Almanac&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Will Larson’s impressively comprehensive guide to configuring and securing an Ubuntu VPS from scratch to run Django, using PostgreSQL and Apache/mod_wsgi behind nginx.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/apache"&gt;apache&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/django"&gt;django&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/modwsgi"&gt;modwsgi&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/nginx"&gt;nginx&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/postgresql"&gt;postgresql&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/sysadmin"&gt;sysadmin&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ubuntu"&gt;ubuntu&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/vps"&gt;vps&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/will-larson"&gt;will-larson&lt;/a&gt;&lt;/p&gt;



</summary><category term="apache"/><category term="django"/><category term="modwsgi"/><category term="nginx"/><category term="postgresql"/><category term="sysadmin"/><category term="ubuntu"/><category term="vps"/><category term="will-larson"/></entry><entry><title>modswgi: Debugging Techniques</title><link href="https://simonwillison.net/2008/May/25/modwsgi/#atom-tag" rel="alternate"/><published>2008-05-25T13:34:42+00:00</published><updated>2008-05-25T13:34:42+00:00</updated><id>https://simonwillison.net/2008/May/25/modwsgi/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://code.google.com/p/modwsgi/wiki/DebuggingTechniques"&gt;modswgi: Debugging Techniques&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
mod_wsgi is excellent software, and the documentation is equally superb. I used these instructions recently to run the Python debugger inside a running instance of Apache, which helped my track down some import errors that weren’t occurring with Django’s development server.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/debugging"&gt;debugging&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/django"&gt;django&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/modwsgi"&gt;modwsgi&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/pdb"&gt;pdb&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/wsgi"&gt;wsgi&lt;/a&gt;&lt;/p&gt;



</summary><category term="debugging"/><category term="django"/><category term="modwsgi"/><category term="pdb"/><category term="python"/><category term="wsgi"/></entry><entry><title>Setup mod_wsgi for Django and Shared Hosting</title><link href="https://simonwillison.net/2008/Mar/26/setup/#atom-tag" rel="alternate"/><published>2008-03-26T14:42:02+00:00</published><updated>2008-03-26T14:42:02+00:00</updated><id>https://simonwillison.net/2008/Mar/26/setup/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html"&gt;Setup mod_wsgi for Django and Shared Hosting&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Tutorial by David Cramer; attached are useful comments from mod_wsgi author Graham Dumpleton.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/david-cramer"&gt;david-cramer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/django"&gt;django&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/graham-dumpleton"&gt;graham-dumpleton&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/hosting"&gt;hosting&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/modwsgi"&gt;modwsgi&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/wsgi"&gt;wsgi&lt;/a&gt;&lt;/p&gt;



</summary><category term="david-cramer"/><category term="django"/><category term="graham-dumpleton"/><category term="hosting"/><category term="modwsgi"/><category term="python"/><category term="wsgi"/></entry><entry><title>Version 2.0 of mod_wsgi is now available</title><link href="https://simonwillison.net/2008/Mar/21/wsgi/#atom-tag" rel="alternate"/><published>2008-03-21T13:23:11+00:00</published><updated>2008-03-21T13:23:11+00:00</updated><id>https://simonwillison.net/2008/Mar/21/wsgi/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://blog.dscpl.com.au/2008/03/version-20-of-modwsgi-is-now-available.html"&gt;Version 2.0 of mod_wsgi is now available&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Includes features that should make Python (and Django) on shared hosting much easier: a non-root user can touch their WSGI script file to restart just their application’s daemon processes when they make changes and Python virtual environments are supported to allow different versions of packages without interference.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/django"&gt;django&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/hosting"&gt;hosting&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/modwsgi"&gt;modwsgi&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/sharedhosting"&gt;sharedhosting&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/wsgi"&gt;wsgi&lt;/a&gt;&lt;/p&gt;



</summary><category term="django"/><category term="hosting"/><category term="modwsgi"/><category term="python"/><category term="sharedhosting"/><category term="wsgi"/></entry><entry><title>mod_wsgi 1.0 Release Candiate Available</title><link href="https://simonwillison.net/2007/Jul/26/hex/#atom-tag" rel="alternate"/><published>2007-07-26T20:21:11+00:00</published><updated>2007-07-26T20:21:11+00:00</updated><id>https://simonwillison.net/2007/Jul/26/hex/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://hex-dump.blogspot.com/2007/07/modwsgi-10-release-candiate-available.html"&gt;mod_wsgi 1.0 Release Candiate Available&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
mod_wsgi is shaping up to be an excellent alternative to mod_python.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/django"&gt;django&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/modpython"&gt;modpython&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/modwsgi"&gt;modwsgi&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/wsgi"&gt;wsgi&lt;/a&gt;&lt;/p&gt;



</summary><category term="django"/><category term="modpython"/><category term="modwsgi"/><category term="python"/><category term="wsgi"/></entry><entry><title>Web hosting landscape and mod_wsgi</title><link href="https://simonwillison.net/2007/Jul/2/graham/#atom-tag" rel="alternate"/><published>2007-07-02T15:47:59+00:00</published><updated>2007-07-02T15:47:59+00:00</updated><id>https://simonwillison.net/2007/Jul/2/graham/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://blog.dscpl.com.au/2007/07/web-hosting-landscape-and-modwsgi.html"&gt;Web hosting landscape and mod_wsgi&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Graham Dumpleton explains how mod_wsgi’s daemon mode should provide secure Python deployment for commodity hosting providers.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/graham-dumpleton"&gt;graham-dumpleton&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/hosting"&gt;hosting&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/modwsgi"&gt;modwsgi&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/wsgi"&gt;wsgi&lt;/a&gt;&lt;/p&gt;



</summary><category term="graham-dumpleton"/><category term="hosting"/><category term="modwsgi"/><category term="python"/><category term="wsgi"/></entry></feed>