Если вы используете Linux или OS X, в вашей системе Apache уже установлен.
Для Windows вам придется устанавливать Apache самостоятельно (http://bit.ly/
apache-http).
Наконец, установите предпочитаемый веб-фреймворк Python, основанный на
WSGI. Попробуем использовать в наших примерах фреймворк Bottle. Практически
вся работа включает в себя конфигурирование Apache, что может оказаться до-
вольно затруднительным.
Создайте тестовый файл и сохраните его как /var/www/test/home.wsgi:
import bottle
application = bottle.default_app()
@bottle.route('/')
def home():
return "apache and wsgi, sitting in a tree"
В этот раз не вызывайте функцию run(), поскольку это запустит встроенный
веб-сервер Python. Нам нужно присвоить некоторое значение переменной application,
поскольку именно его будет проверять mod_wsgi при объединении веб-сервера и кода
Python.
Если Apache и его модуль mod_wsgi работают корректно, нужно лишь соединить
их с нашим сценарием Python. Нам нужно добавить в файл одну строку, которая
определяет сайт по умолчанию для этого сервера Apache, но поиск этого файла сам
по себе является задачей. Он может называться /etc/apache2/httpd.conf, или /etc/
apache2/sites-available/default, или даже быть латинским названием чьей-то
ручной саламандры.
Предположим, что вы понимаете работу Apache и нашли нужный файл. Добавь-
те эту строку в раздел <VirtualHost>, который управляет стандартным сайтом:
WSGIScriptAlias / /var/www/test/home.wsgi
Этот раздел должен выглядеть так:
<VirtualHost *:80>
DocumentRoot /var/www
WSGIScriptAlias / /var/www/test/home.wsgi
<Directory /var/www/test>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
274
Глава 9. Распутываем Всемирную паутину
Запустите Apache или перезапустите его, если работал, чтобы указать ему, что
следует использовать новую конфигурацию. Если вы перейдете в браузере по
адресу http://localhost/, то должны увидеть эту строку:
apache and wsgi, sitting in a tree
Это запустит mod_wsgi во встроенном режиме как часть самого Apache.
Вы также можете запустить его в режиме демона — как один или несколько
процессов, отдельных от Apache. Для того чтобы это сделать, добавьте две новые
строки директив в ваш файл конфигурации Apache:
$ WSGIDaemonProcess domain-name user=user-name group=group-name threads=25
WSGIProcessGroup domain-name
В предыдущем примере переменные user-name и group-name представляют собой
имена пользователя и группы в операционной системе, а переменная domain-name —