Развертывание нескольких проектов Django на apache с помощью windows
Я пытаюсь дать доменное имя и запустить несколько проектов django на моем apache, на данный момент мне удалось разместить одно приложение и запустить его на 127.0.0.1:8888 настройки выглядят так.
WSGIScriptAlias / C:/Users/ShabeerSheffa/workspace/ApacheDemo/ApacheDemo/wsgi.py
WSGIPythonPath C:/Users/ShabeerSheffa/workspace/ApacheDemo
<Directory C:/Users/ShabeerSheffa/workspace/ApacheDemo>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
Я попытался изменить вышеуказанный код, чтобы выглядеть как код ниже, с доменным именем, чтобы я мог получить к нему доступ с помощью apachedemo.com но неудачно.
NameVirtualHost apachedemo.com
<VirtualHost apachedemo.com>
ServerName apachedemo.com
ServerAlias www.apachedemo.com
WSGIScriptAlias / C:/Users/ShabeerSheffa/workspace/ApacheDemo/ApacheDemo/wsgi.py
WSGIPythonPath C:/Users/ShabeerSheffa/workspace/ApacheDemo
DocumentRoot C:/Users/ShabeerSheffa/workspace/ApacheDemo
<Directory C:/Users/ShabeerSheffa/workspace/ApacheDemo>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
</VirtualHost>
В настоящее время я использую порт 8888 для моего apache на машина windows 7, 127.0.0.1: 8888 работала для первой версии кода, но после редактирования кода apache выдает ошибку при перезапуске apache.
вот как выглядит мой хост-файл, я только добавил последнюю строку.(не совсем уверен, почему есть # во второй и третьей строке)
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
127.0.0.1:8888 apachedemo.com www.apachedemo.com
Я пытаюсь найти ответы на два вопроса-
- как мне сделать apachedemo.com работа
- как добавить еще один проект на том же сервере, пример apachedemo2.com
EDIT: я разрабатываю свои проекты с помощью eclipse
Спасибо большое за помощь, ребята!--8-->
3 ответов
попробуйте следующую конфигурацию. Вы также можете найти это вопрос полезно и в моде WSGI docs есть раздел на virtualhosts это может помочь и вам.
WSGIPythonPath C:/Users/ShabeerSheffa/workspace/ApacheDemo
<VirtualHost apachedemo.com:8888>
ServerName apachedemo.com
WSGIScriptAlias / C:/Users/ShabeerSheffa/workspace/ApacheDemo/ApacheDemo/wsgi.py
<Directory C:/Users/ShabeerSheffa/workspace/ApacheDemo>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
</VirtualHost>
<VirtualHost apachedemo2.com:8888>
ServerName apachedemo2.com
WSGIScriptAlias / C:/Users/ShabeerSheffa/workspace/ApacheDemo/apachedemo2/wsgi.py
<Directory C:/Users/ShabeerSheffa/workspace/ApacheDemo>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
</VirtualHost>
обновление
один из комментариев ниже спросил, Может ли у вас быть другой WSGIPythonPath в каждом virtualhost. Глядя на настройки документы WSGIPythonPath может быть только в конфигурации сервера контекста, а не virtualhost. Вы можете однако добавьте в путь сами файлы wsgi как показано в этом ответе. Вы также можете попробовать посмотреть WSGIDaemonProcess с python-path, как показано в этот вопрос.
убедитесь, что Вы читаете:
автоматически сгенерированный wsgi.py файл в Django 1.4 делает вещи таким образом, что вы не можете разместить два экземпляра Django в одном процессе под разными интерпретаторами. Вам нужно будет изменить wsgi.py файл.
Это в дополнение к любым проблемам, которые могут возникнуть с конфигурацией Apache, если у вас все еще есть. Так хоть вы расплывчато о том, что именно ошибка, давая какие-либо сообщения об ошибках, трудно догадаться, какая проблема у вас есть.
лучшее решение-запустить каждый проект Django на своем собственном процессе WSGI в своем собственном экземпляре Django.
WSGIPythonPath /var/www/path/web:/var/www/path/api
WSGIDaemonProcess api_wsgi user=user group=group
WSGIScriptAlias /api /var/www/path/api/wsgi.py
<Location /api>
WSGIProcessGroup api_wsgi
</Location>
WSGIDaemonProcess web_wsgi user=user group=group
WSGIScriptAlias /web /var/www/path/web/wsgi.py
<Location /web>
#SetEnv DJANGO_SETTINGS_MODULE project.settigs
WSGIProcessGroup web_wsgi
</Location>
сообщение по теме: http://www.area0x33.com/blog/?p=155