<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Setup mod_wsgi for Django and Shared Hosting</title>
	<atom:link href="http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html/feed" rel="self" type="application/rss+xml" />
	<link>http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html</link>
	<description>A blog about Django, JavaScript, CSS, and general web development.</description>
	<pubDate>Wed, 20 Aug 2008 16:04:49 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
		<item>
		<title>By: jobscry</title>
		<link>http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html#comment-19893</link>
		<dc:creator>jobscry</dc:creator>
		<pubDate>Sun, 01 Jun 2008 01:01:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html#comment-19893</guid>
		<description>dude, you rock.  good info.  had some problem with the admin media but turned out to be a permissions error.</description>
		<content:encoded><![CDATA[<p>dude, you rock.  good info.  had some problem with the admin media but turned out to be a permissions error.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David</title>
		<link>http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html#comment-19584</link>
		<dc:creator>David</dc:creator>
		<pubDate>Tue, 25 Mar 2008 18:15:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html#comment-19584</guid>
		<description>Arne, sounds like your method would work great for hosting multiple projects under the same domain.</description>
		<content:encoded><![CDATA[<p>Arne, sounds like your method would work great for hosting multiple projects under the same domain.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Arne Brodowski</title>
		<link>http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html#comment-19558</link>
		<dc:creator>Arne Brodowski</dc:creator>
		<pubDate>Mon, 24 Mar 2008 14:59:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html#comment-19558</guid>
		<description>I use a combination of mod_wsgi and mod_vhost_alias to reduce apache config changes to a minimum for each new site.
Per-site configuration (except for WSGIDaemonProcess directives) are written in a .htaccess file.

I've documented the setup here (in german, but the listings should be readable) http://django-hosting.de/wiki/ApacheModWsgi/</description>
		<content:encoded><![CDATA[<p>I use a combination of mod_wsgi and mod_vhost_alias to reduce apache config changes to a minimum for each new site.<br />
Per-site configuration (except for WSGIDaemonProcess directives) are written in a .htaccess file.</p>
<p>I&#8217;ve documented the setup here (in german, but the listings should be readable) <a href="http://django-hosting.de/wiki/ApacheModWsgi/" rel="nofollow">http://django-hosting.de/wiki/ApacheModWsgi/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David</title>
		<link>http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html#comment-19534</link>
		<dc:creator>David</dc:creator>
		<pubDate>Sun, 23 Mar 2008 21:49:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html#comment-19534</guid>
		<description>Thanks for the reply Graham. I'll be changing the process count and the process name for sure :)</description>
		<content:encoded><![CDATA[<p>Thanks for the reply Graham. I&#8217;ll be changing the process count and the process name for sure <img src='http://www.davidcramer.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Graham Dumpleton</title>
		<link>http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html#comment-19529</link>
		<dc:creator>Graham Dumpleton</dc:creator>
		<pubDate>Sun, 23 Mar 2008 09:25:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html#comment-19529</guid>
		<description>It is best not to include 'processes=1' option to WSGIDaemonProcess but let it apply its default of 1. This is because there is a subtle little difference between each. When it defaults to 1, wsgi.multiprocess is False, where as setting 'processes=1' results in wsgi.multiprocess is True. This distinction exists for where one may use a means of mapping across multiple process groups in same server, or requests are handled across multiple servers in a cluster. In other words, one needs a way of saying the application is logically hosted in a multiprocess setup even though only one process in that particular process group. I know it may be a bit non obvious, but best I could could up with at the time.

Where does this matter? It matters if you want to use an in browser application debugger such as Paste EvalException or the one from Werkzeug. This will not work in a multiprocess setup as it relies on requests going back to the same process. In your setup the requests will go back to the same process, but debuggers such as EvalException think it is multiprocess setup and will not allow you to run it.

So check out the ConfigurationDirectives document on mod_wsgi wiki as well as the DebuggingTechniques document.

BTW, you might also look at the display-name option for WSGIDaemonProcess for mod_wsgi 2.0. Use that and 'ps' can be used to distinguish each users processes rather than them all appearing as being named 'httpd'. Finally, you might also look at VirtualEnvironments document on wiki and setup things so that each user is working out of a Python virtual environment constructed using 'virtualenv'. That way it is a lot easier for them to install their own Python packages.</description>
		<content:encoded><![CDATA[<p>It is best not to include &#8216;processes=1&#8242; option to WSGIDaemonProcess but let it apply its default of 1. This is because there is a subtle little difference between each. When it defaults to 1, wsgi.multiprocess is False, where as setting &#8216;processes=1&#8242; results in wsgi.multiprocess is True. This distinction exists for where one may use a means of mapping across multiple process groups in same server, or requests are handled across multiple servers in a cluster. In other words, one needs a way of saying the application is logically hosted in a multiprocess setup even though only one process in that particular process group. I know it may be a bit non obvious, but best I could could up with at the time.</p>
<p>Where does this matter? It matters if you want to use an in browser application debugger such as Paste EvalException or the one from Werkzeug. This will not work in a multiprocess setup as it relies on requests going back to the same process. In your setup the requests will go back to the same process, but debuggers such as EvalException think it is multiprocess setup and will not allow you to run it.</p>
<p>So check out the ConfigurationDirectives document on mod_wsgi wiki as well as the DebuggingTechniques document.</p>
<p>BTW, you might also look at the display-name option for WSGIDaemonProcess for mod_wsgi 2.0. Use that and &#8216;ps&#8217; can be used to distinguish each users processes rather than them all appearing as being named &#8216;httpd&#8217;. Finally, you might also look at VirtualEnvironments document on wiki and setup things so that each user is working out of a Python virtual environment constructed using &#8216;virtualenv&#8217;. That way it is a lot easier for them to install their own Python packages.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Deploying Django &#124; David Cramer's Blog</title>
		<link>http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html#comment-19519</link>
		<dc:creator>Deploying Django &#124; David Cramer's Blog</dc:creator>
		<pubDate>Sun, 23 Mar 2008 01:35:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidcramer.net/code/django/108/setup-mod_wsgi-for-django-and-shared-hosting.html#comment-19519</guid>
		<description>[...] Apache 2.x + mod_wsgiYou can see my configuration example. [...]</description>
		<content:encoded><![CDATA[<p>[...] Apache 2.x + mod_wsgiYou can see my configuration example. [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
