ServerName/ServerAliasディレクティブが間違っています。ServerNameはホスト名である必要があります。おそらくServerAliasを削除する必要があります。
次に、ファイルシステム内のスクリプトのポート番号と場所を変更するだけで、明白で重複したVirtualHost/Listenディレクティブを実行します。
最後に、DocumentRootをDjangoコードがある場所に設定しないでください。これにより、Apache構成を詰め込んだ場合に、ダウンロードするソースコードを誤って公開しやすくなります。したがって、DjangoサイトのVirtualHostからDocumentRootディレクティブを削除するだけです。
Listen 80
<VirtualHost *:80>
ServerName www.example.com
WSGIScriptAlias / /opt/django/site1/apache/django.wsgi
Alias /media /opt/django/site1/media/statics
Alias /admin_media /home/myuser/Django-1.1/django/contrib/admin/media
<Directory opt/django/site1/apache>
Order allow,deny
Allow from all
</Directory>
<Directory /home/myuser/Django-1.1/django/contrib/admin/media>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Listen 8080
<VirtualHost *:8080>
ServerName www.example.com
WSGIScriptAlias / /opt/django/site2/apache/django.wsgi
Alias /media /opt/django/site2/media/statics
Alias /admin_media /home/myuser/Django-1.1/django/contrib/admin/media
<Directory opt/django/site2/apache>
Order allow,deny
Allow from all
</Directory>
<Directory /home/myuser/Django-1.1/django/contrib/admin/media>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Listen 8090
<VirtualHost *:8090>
ServerName www.example.com
WSGIScriptAlias / /opt/django/site3/apache/django.wsgi
Alias /media /opt/django/site3/media/statics
Alias /admin_media /home/myuser/Django-1.1/django/contrib/admin/media
<Directory opt/django/site3/apache>
Order allow,deny
Allow from all
</Directory>
<Directory /home/myuser/Django-1.1/django/contrib/admin/media>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
また、静的ファイルへのアクセスを許可するための欠落しているDirectoryディレクティブを追加しました。ただし、パスを確認する必要があります。
必ずお読みください:
http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango
http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines#Hosting_Of_Static_Files
詳細については。
更新1
ところで、同じApacheでPHPを使用しているので、mod_wsgiデーモンモードを使用して、各Djangoインスタンスを独自の個別のプロセスにプッシュする方がはるかに良いでしょう。これにより、PHPのためにメインのApacheプロセスがシングルスレッドに強制されている場合でも、これらのプロセスをマルチスレッド化できます。最終的には、プリフォークMPMを使用した組み込みモードで各プロセスで複数のDjangoインスタンスを実行する場合よりも、使用されるメモリがはるかに少なくなります。Djangoコードはスレッドセーフである必要があります。上記に加えて、WSGIDaemonProcess /WSGIProcessGroupを各DjangoVirtualHostに追加する構成になります。ここで、デーモンプロセスグループの名前はVirtualHostごとに異なります。
<VirtualHost *:80>
WSGIDaemonProcess site1 display-name=%{GROUP}
WSGIProcessGroup site1
... existing stuff
</VirtualHost>
<VirtualHost *:8080>
WSGIDaemonProcess site2 display-name=%{GROUP}
WSGIProcessGroup site2
... existing stuff
</VirtualHost>
<VirtualHost *:8090>
WSGIDaemonProcess site3 display-name=%{GROUP}
WSGIProcessGroup site3
... existing stuff
</VirtualHost>
これにより、Apache全体を再起動せずに、各Djangoインスタンスをより簡単に再起動することもできます。読む:
http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide#Delegation_To_Daemon_Process
http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode