<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>schmichael&#039;s blog &#187; apache</title>
	<atom:link href="http://blog.schmichael.com/tag/apache/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.schmichael.com</link>
	<description>good good study, day day up</description>
	<lastBuildDate>Sat, 05 Nov 2011 23:13:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Web Server Shootout Talk Accepted at OS Bridge Conference</title>
		<link>http://blog.schmichael.com/2009/04/26/web-server-shootout-talk-accepted-at-os-bridge-conference/</link>
		<comments>http://blog.schmichael.com/2009/04/26/web-server-shootout-talk-accepted-at-os-bridge-conference/#comments</comments>
		<pubDate>Sun, 26 Apr 2009 21:00:09 +0000</pubDate>
		<dc:creator>Michael Schurter</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[lighttpd]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[osbridge]]></category>

		<guid isPermaLink="false">http://michael.susens-schurter.com/blog/?p=637</guid>
		<description><![CDATA[My talk, Web Server Shootout, was accepted by the Open Source Bridge Conference! I&#8217;m terribly excited, but also nervous because there&#8217;s a lot I need to do between now and the conference. Expect regular updates on how my talk is &#8230; <a href="http://blog.schmichael.com/2009/04/26/web-server-shootout-talk-accepted-at-os-bridge-conference/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>My talk, <a href="http://opensourcebridge.org/sessions/119">Web Server Shootout</a>, was accepted by the Open Source Bridge Conference!  I&#8217;m terribly excited, but also nervous because there&#8217;s a lot I need to do between now and the conference.  Expect regular updates on how my talk is progressing (always tagged with osbridge [feed]).</p>
<p>The <a href="http://opensourcebridge.org/2009/04/open-source-bridge-conference-confirmed-speakers/">full list of sessions is up</a> (or <a href="http://opensourcebridge.org/events/2009/sessions">here</a>), and I&#8217;m very excited just to be attending the conference.  Congratulations to all of the speakers!</p>
<p>Some of the sessions I&#8217;m particularly excited to attend are:</p>
<ul>
<li><a href="http://opensourcebridge.org/sessions/20">An Introduction to Machine Learning by John Melesky</a> &#8211; A Portland Python User Group regular and really smart guy in general.  Looking forward to getting my feet wet with machine learning.</li>
<li><a href="http://opensourcebridge.org/sessions/100">Drop ACID and think about data by Bob Ippolito</a> &#8211; I think the Portland Python crew that went to Pycon helped convince Bob to bring his presentation to OS Bridge, and I&#8217;m glad they did!  I work with non-relational databases everyday, but I still design my apps with a relational data model in mind.  This should be interesting.</li>
<li><a href="http://opensourcebridge.org/sessions/33">The Linux Kernel Development model by Greg Kroah-Hartman</a> &#8211; Its <a href="http://en.wikipedia.org/wiki/Greg_Kroah-Hartman">Greg KH</a>!  Come on!</li>
<li><a href="http://opensourcebridge.org/sessions/95">How Idealist.org uses technology to change the world by Michel Pelletier</a> &#8211; Another Portland Pythoneer and really smart guy.  Eager to here more about open source at work in an organization.  Its always fun to watch Michel present anyway.</li>
<li><a href="http://opensourcebridge.org/sessions/36">Web Testing with Windmill by Mikeal Rogers</a> &#8211; Hardly a day goes by that I don&#8217;t tell myself I&#8217;m going to improve my test coverage and skills.  Windmill looks like an excellent testing tool to help me accomplish that.</li>
</ul>
<p>There are many many more sessions I&#8217;m excited about, but I&#8217;m too sick of copying and pasting to mention anymore right now.</p>
<p>So <a href="http://opensourcebridge.org/attend/">sign up to attend the Open Source Bridge Conference in Portland, OR this June!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.schmichael.com/2009/04/26/web-server-shootout-talk-accepted-at-os-bridge-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Server Quandary</title>
		<link>http://blog.schmichael.com/2008/12/27/web-server-quandary/</link>
		<comments>http://blog.schmichael.com/2008/12/27/web-server-quandary/#comments</comments>
		<pubDate>Sat, 27 Dec 2008 07:00:48 +0000</pubDate>
		<dc:creator>Michael Schurter</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[cherokee]]></category>
		<category><![CDATA[lazyweb]]></category>
		<category><![CDATA[lighttpd]]></category>
		<category><![CDATA[nginx]]></category>

		<guid isPermaLink="false">http://michael.susens-schurter.com/blog/?p=469</guid>
		<description><![CDATA[Apache was probably the first Linux application I learned how to configure. However, I&#8217;ve gotten a bit frustrated with it recently&#8230; The Problem A memory leak. Apache is eating up memory so quickly that I need to restart it every &#8230; <a href="http://blog.schmichael.com/2008/12/27/web-server-quandary/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://httpd.apache.org/">Apache</a> was probably the first Linux application I learned how to configure.  However, I&#8217;ve gotten a bit frustrated with it recently&#8230;</p>
<p><strong>The Problem</strong></p>
<p><em>A memory leak.</em>  Apache is eating up memory so quickly that I need to restart it every couple days or risk my entire server grinding to a halt as it starts swapping wildly.  I&#8217;ve poured over log files and <code>pmap</code> output, but I still can&#8217;t figure out where the problem lies.  Curse you monolithic in-process architecture!</p>
<p>Actually I know what my problem is, I&#8217;m running a mess of modules:</p>
<ul>
<li><code>ssl</code> &#8211; 2 certificates on 2 ports</li>
<li><code>php5</code> &#8211; blerg, who doesn&#8217;t have to run this?</li>
<li><code>suphp</code> &#8211; I suspect this is my problem, but I can&#8217;t prove it.  A client&#8217;s 3rd party web application <em>requires</em> it, but I think its easily replaceable with FastCGI.</li>
<li><code>wsgi</code> &#8211; No complaints.  Python apps are out-of-process thankfully.</li>
<li><code>proxy</code> &#8211; Again no complaints.  Can&#8217;t imagine how this module could cause any problems except it does proxy some large (multi-megabyte, not huge) POSTs at times.  I can&#8217;t imagine a memory leak could slip into this module without a lot of people noticing.</li>
</ul>
<p><strong>Solution A: Apache+FastCGI</strong></p>
<p>I love the idea of putting each web application in its own process and letting Apache just act as an HTTP router.  FastCGI seems to have all the features I need, and I&#8217;m not really worried about the CPU overhead incurred by IPC.</p>
<p>However, there are 2 competing FastCGI modules for Apache, and I have no idea what to choose.  Anecdotally the official <a href="http://www.fastcgi.com/drupal/node/3">mod_fastcgi</a> is buggy and <a href="http://www.fastcgi.com/drupal/node/2">fastcgi.com is a spam infested wasteland</a>.  However, I&#8217;ve found no authoritative source saying:<em> &#8220;fastcgi is dead, long live <a href="http://fastcgi.coremail.cn/">fcgid</a>!&#8221;</em>  (Lame excuse, I know.)</p>
<p><strong>Solution B: <a href="http://www.lighttpd.net/">Lighttpd</a></strong></p>
<p>I know Lighty is the darling of Rails sites, but whenever I stop by its site I&#8217;m greeted with a list of recently fixed <a href="http://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=lighttpd">security bugs</a>, and now it seems as though <a href="http://blog.lighttpd.net/articles/2008/12/02/a-little-heads-up">they&#8217;re rewriting the core</a>!</p>
<p>I&#8217;m sure Lighty is a high quality intelligently engineered project, but it seems to be the definition of immature.  Not necessarily bad (in fact it usually means its progressing quickly!), but perhaps not as reliable as good old workhorses like Apache.</p>
<p><strong>Solution C: <a href="http://www.cherokee-project.com/">Cherokee</a></strong></p>
<p>I&#8217;ve been following Cherokee for some time now and running it locally on my workstation.  I <em>love</em> the web interface.  I&#8217;m usually a very anti-webmin, pro-vim kind of guy, but I&#8217;m sick of editing Apache&#8217;s config files.  I do it about once a month and therefore it always takes lots of double-checking the docs.  I don&#8217;t know why, but its configuration has just never felt natural to me.</p>
<p>However, the lead Cherokee developer&#8217;s bravado is by the most off-putting aspect of the project.  <a href="http://lists.octality.com/pipermail/cherokee/2008-December/009437.html">He mocks modwsgi</a> and posts simplistic benchmarks showing Cherokee to be the fastest web server, but meanwhile Cherokee churns out numerous bug patch releases in-between feature releases and has yet to reach 1.0 status.</p>
<p>It seems like an excellent project technically, but I&#8217;m afraid there will be negative consequences for the lead developers hubris.  <small>(I&#8217;m not meaning to insult the guy.  He&#8217;s probably a far better hacker than I&#8217;ll ever be.  Self-promotion just makes me uncomfortable.)</small></p>
<p><strong>Solution D: <a href="http://nginx.net/">nginx</a></strong></p>
<p>I don&#8217;t know much about nginx except that it works.  Basically all I&#8217;ve heard about it is:</p>
<ul>
<li>It works.</li>
<li>Its fast.  <em>Really</em> fast.</li>
</ul>
<p>While &#8220;working&#8221; is definitely my primary objective, nginx seems a bit bare bones for me.  I just don&#8217;t think I&#8217;m the target demographic.  I&#8217;d kind of like for my web server to handle spawning and kill of FastCGI processes.</p>
<p>nginx feels like git to me.  Those who know it: use it and love it.  Those who don&#8217;t: stand in fear and awe of its unbridled power.</p>
<p>&#8230;or maybe its just a nice simple barebones HTTP server&#8230;</p>
<p><strong>Conclusions?</strong></p>
<p>I think <strong>Solution A: FastCGI</strong> is the most sensible.  Apache has always served me well, and the memory leak is most likely due to that shoddy suphp module.</p>
<p>Moving my web applications to FastCGI is also the best way to prepare to move to one of these 2nd generation web servers.</p>
<p>However, I&#8217;m getting kind of sick of Apache, and the ambiguousness of which FastCGI solution to choose is fairly annoying.</p>
<p>So dear lazyweb, for your everyday web developer consultant looking to run a bunch of PHP and Python web applications, what HTTP server stack should I use?  (Debian Lenny packages are a plus.)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.schmichael.com/2008/12/27/web-server-quandary/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>The Mojave Experiment Hosted on Linux &amp; Apache</title>
		<link>http://blog.schmichael.com/2008/07/28/the-mojave-experiment-hosted-on-linux-apache/</link>
		<comments>http://blog.schmichael.com/2008/07/28/the-mojave-experiment-hosted-on-linux-apache/#comments</comments>
		<pubDate>Mon, 28 Jul 2008 14:10:03 +0000</pubDate>
		<dc:creator>Michael Schurter</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[funny]]></category>
		<category><![CDATA[iis]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[mojave]]></category>

		<guid isPermaLink="false">http://michael.susens-schurter.com/blog/?p=365</guid>
		<description><![CDATA[The Mojave Experiment is a silly Microsoft marketing ploy designed to convince people they really do like Windows Vista. Regardless, I find it hilarious that they don&#8217;t use IIS to host their web site. According to the Server field of &#8230; <a href="http://blog.schmichael.com/2008/07/28/the-mojave-experiment-hosted-on-linux-apache/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The Mojave Experiment is a silly Microsoft marketing ploy designed to convince people they really do like Windows Vista.</p>
<p>Regardless, <a href="http://www.mojaveexperiment.com/oh-noes-this-doesnt-exist-404">I find it hilarious that they don&#8217;t use IIS to host their web site.</a></p>
<p>According to the Server field of the response headers they&#8217;re using Apache/2.2.3  on <b>CentOS</b>!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.schmichael.com/2008/07/28/the-mojave-experiment-hosted-on-linux-apache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Can you get any more private?</title>
		<link>http://blog.schmichael.com/2008/07/15/can-you-get-any-more-private/</link>
		<comments>http://blog.schmichael.com/2008/07/15/can-you-get-any-more-private/#comments</comments>
		<pubDate>Wed, 16 Jul 2008 00:11:01 +0000</pubDate>
		<dc:creator>Michael Schurter</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[hzzah]]></category>
		<category><![CDATA[hzzah.com]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[privacy]]></category>

		<guid isPermaLink="false">http://michael.susens-schurter.com/blog/?p=343</guid>
		<description><![CDATA[I just switched Hzzah.com&#8216;s Apache configuration to use this line for logging: CustomLog /srv/hzzah/log/access.log "0.0.0.0 %l %u %t \"%r\" %>s %b" No more IP addresses logged! Only if you cause an error (404 or 500) will your IP address be &#8230; <a href="http://blog.schmichael.com/2008/07/15/can-you-get-any-more-private/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I just switched <a href="http://hzzah.com">Hzzah.com</a>&#8216;s Apache configuration to use this line for logging:</p>
<p><code>CustomLog /srv/hzzah/log/access.log "0.0.0.0 %l %u %t \"%r\" %>s %b"</code></p>
<p>No more IP addresses logged!  Only if you cause an error (404 or 500) will your IP address be logged.</p>
<p>So no javascript, css, or images from remote sites; no cookies; no ads.  Can you get any more private?</p>
<p>I did just add jQuery and a bit of JavaScript, so if web2.0 makes you queasy, you&#8217;ve been warned.</p>
<p><small>I should mention that hzzah&#8217;s primary goal is for me to have fun with Django, not privacy.  So while I&#8217;ll definitely warn you if I make any changes, right now its not a top priority to pursue extreme privacy.</small></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.schmichael.com/2008/07/15/can-you-get-any-more-private/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fun with Django and modwsgi</title>
		<link>http://blog.schmichael.com/2008/02/05/fun-with-django-and-modwsgi/</link>
		<comments>http://blog.schmichael.com/2008/02/05/fun-with-django-and-modwsgi/#comments</comments>
		<pubDate>Wed, 06 Feb 2008 05:12:56 +0000</pubDate>
		<dc:creator>Michael Schurter</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[cherrypy]]></category>
		<category><![CDATA[diy]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[dreamhost]]></category>
		<category><![CDATA[fastcgi]]></category>
		<category><![CDATA[modwsgi]]></category>
		<category><![CDATA[mod_python]]></category>
		<category><![CDATA[wsgi]]></category>

		<guid isPermaLink="false">http://michael.susens-schurter.com/blog/2008/02/05/fun-with-django-and-modwsgi/</guid>
		<description><![CDATA[Today I deployed my first Django application for a client. Its yet-another-blog, so I&#8217;ll refrain from posting the code and cluttering up the django-*blog* namespace on Google Code. Before you roll your eyes and complain about why I didn&#8217;t use &#8230; <a href="http://blog.schmichael.com/2008/02/05/fun-with-django-and-modwsgi/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Today I deployed my first <a href="http://www.djangoproject.com/">Django</a> application for a client.  Its yet-another-blog, so I&#8217;ll refrain from posting the code and cluttering up the django-*blog* namespace on Google Code.  Before you roll your eyes and complain about why I didn&#8217;t use an existing solution, I think I have 2 somewhat valid reasons:</p>
<ol>
<li>The client actually needed a <em>sub</em>set of the features most blogs offer, so I wouldn&#8217;t really have anything to contribute back to an existing project.</li>
<li>Blogs are one of the simplest content driven web applications in existence.  Wikis are just a bit simpler perhaps.  At any rate, creating a blog app is an excellent way to learn a framework.</li>
</ol>
<p><strong>Python Deployment Decisions</strong></p>
<p>In the past I&#8217;ve used <a href="http://michael.susens-schurter.com/blog/2007/08/16/deploying-cherrypy-on-apache-2-using-mod_proxy/">CherryPy as my framework and a simple mod_proxy configuration to run the applications behind Apache</a>.  <a href="http://www.djangoproject.com/documentation/django-admin/#runserver-optional-port-number-or-ipaddr-port">Django considers its built-in web server a development tool only</a>, so I figured it was time to explore the myriad of Python web app deployment alternatives: <a href="http://www.modpython.org">mod_python</a>, <a href="http://www.fastcgi.com/">FastCGI</a>, <a href="http://www.modwsgi.org">modwsgi</a>.  I&#8217;m sure there are many more, but I&#8217;d say those are the big 3.</p>
<p>I had tried to deploy Python web applications on DreamHost using FastCGI before and entered <a href="http://www.al3x.net/2008/01/shared-hosting-is-ghetto.html">the hell that is deploying Python web apps on shared hosts</a>.  <em>So FastCGI wasn&#8217;t my first choice this time.</em></p>
<p>I had also tried mod_python for deploying <a href="http://www.cherrypy.org/">CherryPy</a> apps on my <a href="http://www.linode.com/">Linode</a> before and for whatever reason just found <a href="http://httpd.apache.org/docs/2.2/mod/mod_proxy.html">mod_proxy</a> to be <em>much</em> easier to setup and manage.</p>
<p>I was kind of eager to try out modwsgi because its been getting a lot of attention lately, so I downloaded the source and compiled it on my <a href="http://www.debian.org/">Debian</a> <a href="http://www.debian.org/releases/etch/">Etch</a> server.</p>
<p><strong>Deploying a Django App via modwsgi</strong></p>
<p>modwsgi was quite easy to setup as long as you follow the instructions in their wiki for Django integration.  I was hit by <a href="http://code.djangoproject.com/ticket/3762">bug #3762</a>, but the modwsgi documentation got me through it.  <small>(For what its worth the attached wsgi.patch also worked, but I don&#8217;t really want to run a patched version of Django.)</small></p>
<p>One big problem I ran into was <a href="http://docs.python.org/lib/module-sqlite3.html">sqlite3</a> gave me <code>OperationalError: unable to open database file</code> whenever I did anything that would write to the database.  My database file was owned by <code>www-data</code> (the Apache process owner) and had the permissions <code>664</code>.</p>
<p>I switched to <a href="http://www.postgresql.org/">PostgreSQL</a>, ran <a href="http://www.djangoproject.com/documentation/django-admin/#syncdb"><code>syncdb</code></a>, and everything worked beautifully.</p>
<p>My wsgi script file /srv/spam/eggs/eggs.wsgi:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">os</span>, <span style="color: #dc143c;">sys</span>
<span style="color: #dc143c;">sys</span>.<span style="color: black;">path</span>.<span style="color: black;">append</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'/srv/spam'</span><span style="color: black;">&#41;</span>
<span style="color: #dc143c;">sys</span>.<span style="color: black;">path</span>.<span style="color: black;">append</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'/srv/spam/eggs'</span><span style="color: black;">&#41;</span>
<span style="color: #dc143c;">os</span>.<span style="color: black;">environ</span><span style="color: black;">&#91;</span><span style="color: #483d8b;">'DJANGO_SETTINGS_MODULE'</span><span style="color: black;">&#93;</span> = <span style="color: #483d8b;">'eggs.wsgi_settings'</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">import</span> django.<span style="color: black;">core</span>.<span style="color: black;">handlers</span>.<span style="color: black;">wsgi</span>
&nbsp;
_application = django.<span style="color: black;">core</span>.<span style="color: black;">handlers</span>.<span style="color: black;">wsgi</span>.<span style="color: black;">WSGIHandler</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> application<span style="color: black;">&#40;</span>environ, start_response<span style="color: black;">&#41;</span>:
    environ<span style="color: black;">&#91;</span><span style="color: #483d8b;">'PATH_INFO'</span><span style="color: black;">&#93;</span> = environ<span style="color: black;">&#91;</span><span style="color: #483d8b;">'SCRIPT_NAME'</span><span style="color: black;">&#93;</span> + environ<span style="color: black;">&#91;</span><span style="color: #483d8b;">'PATH_INFO'</span><span style="color: black;">&#93;</span>
    <span style="color: #ff7700;font-weight:bold;">return</span> _application<span style="color: black;">&#40;</span>environ, start_response<span style="color: black;">&#41;</span></pre></div></div>

<p>Note I use <code>wsgi_settings</code> instead of my usual settings file.  wsgi_settings just imports my main settings file and changes some to their production values.</p>
<p>My Django application actually drops into the <code>/blog/</code> and <code>/accounts/</code> folders under a VirtualHost otherwise occupied by static files and some PHP scripts.  modwsgi made this easy by putting this in my existing VirtualHost:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">WSGIScriptAliasMatch /(blog|accounts)/.* /srv/spam/eggs/eggs.wsgi
&nbsp;
<span style="color: #adadad; font-style: italic;"># A simple Alias directive handles my static files</span>
<span style="color: #00007f;">Alias</span> /static/ /srv/spam/eggs/static/</pre></div></div>

<p><strong>Bottom Line</strong></p>
<p>I highly recommend using modwsgi for deploying Python web applications.  sqlite3 may work for you.  In my case its probably best I use PostgreSQL for a number of reasons.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.schmichael.com/2008/02/05/fun-with-django-and-modwsgi/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

