Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 211

с Apache.

Если вы используете 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 —