Динамический массовый хостинг с использованием mod_wsgi - PullRequest
1 голос
/ 11 марта 2010

Я пытаюсь настроить сервер apache, используя mod_wsgi для динамического массового хостинга. У каждого пользователя будет свой собственный экземпляр приложения python, расположенный в / mnt / data / www / domains / [имя_пользователя], и будет файл vhost.map, сообщающий мне, какой домен соответствует каталогу каждого пользователя (каталог будет иметь то же имя как пользователь). Чего я не знаю, так это как написать строку WSGIScriptAliasMatch, чтобы он также брал путь из файла vhost.map. Я хочу сделать что-то вроде этого: я могу иметь на своем сервере разные домены, такие как www.virgilbalibanu.com или virgil.balibanu.com и flaviu.balibanu.com, где каждый домен будет вести к другому пользователю, имя пользователя не имеет Необходимое подключение к доменному имени. Я хочу сделать это из-за пользователя, когда он делает учетную запись получает что-то вроде virgil.mydomain.com, но если у него есть свой собственный домен, он может изменить его позже на это, например, www.virgilbalibanu.ro, и таким образом я бы нужно только изменить строку в файле vhost.map Пока что у меня есть что-то вроде этого:

Alias /media/ /mnt/data/www/iitcms/media/
#all media is taken from here

RewriteEngine on

RewriteMap lowercase int:tolower

# define the map file
RewriteMap vhost txt:/mnt/data/www/domains/vhost.map

#this does not work either, can;t say why atm
RewriteCond %{REQUEST_URI} ^/uploads/
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/media/uploads/$1

#---> this I have no ideea how i could do
WSGIScriptAliasMatch ^([^/]+) /mnt/data/www/domains/$1/apache/django.wsgi

<Directory "/mnt/data/www/domains">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>

<DirectoryMatch ^/mnt/data/www/domains/([^/]+)/apache>
  AllowOverride None 
  Options FollowSymLinks ExecCGI
  Order deny,allow
  Allow from all
</DirectoryMatch>

<Directory /mnt/data/www/iitcms/media>
  AllowOverride None
  Options Indexes FollowSymLinks MultiViews 
  Order allow,deny 
  Allow from all 
</Directory>

<DirectoryMatch ^/mnt/data/www/domains/([^/]+)/media/uploads>
  AllowOverride None
  Options Indexes FollowSymLinks MultiViews 
  Order allow,deny 
  Allow from all 
</DirectoryMatch>

Я знаю, что часть, которую я сделал с mod_rewrite, не работает, не могу точно сказать, почему нет, но это пока не так важно, мне интересно, как я могу написать строку WSGIScriptAliasMatch, чтобы выполнить мою задачу. Я был бы очень признателен за любую помощь или любые другие идеи, связанные с тем, как я могу справиться с этим. Также было бы здорово, если бы мне удалось заставить каждый сайт работать в режиме демона wsgi, но это не так важно.

Спасибо, Вергилий

1 Ответ

1 голос
/ 15 марта 2010

Тема обсуждения по этому адресу:

http://groups.google.com/group/modwsgi/browse_frm/thread/2a9905f24c10a967

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...