Решил попробовать создать тестовое веб-приложение на Python и первое что пришло в голову — использовать mod_python для Apache, погуглив я не нашел толковых примеров и разобравшись с проблемой решил написать об этом заметку. Кстати, самый толковый пример как не странно я нашел на , но пришлось «методом тыка» переписывать их пример чтобы что-то заработало. :)
Так как у меня Windows, то буду рассказывать на примере именно этой ОС, однако покажу как сделать и для FreeBSD.
С помощью пакета mod_python для Apache можно запускать сценарии на языке Python, также он поддерживает шаблоны механизма Python Server Pages.
Нам потребуется:
- Интерпретатор Python версии 2.5, например
Установка
Установите «ActivePython 2.5.4.4», следуя инструкциям установщика, это не должно быть затруднительным. Далее, я предполагаю, что Apache у вас уже установлен, поэтому перейду сразу к mod_python.
Запускаем «mod_python-3.3.1.win32-py2.5-Apache2.2.exe», он сам подцепит где находится интерпретатор Python и следуйте инструкциям.
Для FreeBSD надо выполнить:
# cd /usr/ports/www/mod_python3/
# make install clean
После установки mod_python необходимо вписать в «httpd.conf» следующую строку (после всех «LoadModule»):
И еще добавьте index.py для директивы «DirectoryIndex»:
DirectoryIndex index.py index.htm index.html
</IfModule>
Настройка
Теперь, впишем инструкции инициализации mod_python для конкретного хоста, у меня это «liburg.loc»:
ServerAdmin youmail@example.com
DocumentRoot "C:/path/to/liburg.loc/www"
ServerName liburg.loc
SetHandler mod_python
PythonHandler mod_python.publisher
PythonDebug On
</VirtualHost>
И перезагрузите Apache
Первое наше веб-приложение
Создаем в «C:/path/to/liburg.loc/www» файл index.py с содержимым:
from mod_python import psp
def index(req):
# "publisher", который мы повесили в "PythonHandler" вызывает данную ф-ию по умолчанию
return 'Hello World!'
Вот и все, наше первое веб-приложение готово!
Самое главное это показать как начать, а вы сами уже почитайте что такое PSP и как использовать его механизм шаблонов, можете рассмотреть чтобы во всем разобраться.


чето я нихера не понял «в чем тут сложности?»... это было так сложно?)))
Какие сложности? Ты о чем вообще?
блин ппц сколько всего для пайтона, и не знаешь что выбрать...
mod_python, wsgi — что лучше?
есть еще чтонить кроме psp?
Используй хоть что-нибудь, потом сам для себя выберешь. Я сейчас буду юзать Django, поэтому не особо парюсь. Далее, когда стану более опытнее смогу оценить что лучше, а что хуже )
Вообще разница между mod_python и mod_wsgi довольно большая, некоторые преимущества mod_wsgi можете найти тут: . Свои Django проекты мы пускаем через mod_wsgi.
Спасибо за то что поделились опытом, тоже попробую mod_wsgi
Еще связка, думаю куда более эффективная чем mod_wsgi —
Django рулит, но можно попробовать мод mod_wsgi
adw0rd, да связок можно много придумать разных, тут нужно смотреть по нагрузке на сервер, чаще всего вижу связку nginx + apache, где apache обрабатывает Django, а nginx статику.
Виталий, да, эта связка самая распространенная и не только в мире Python/Django
Уже есть статьи где выложены итоги тестов... mod_wsgi обходит fastcgi... а djando забила на mod_python... он бесполезен и скоро вымрет
sapun, я сейчас Торнадо использую...
Меня вот что интересует. Поставил я себе питона 2.6.3, а mod_python под него нету. Поставил mod_wsgi, только вот все равно пока не жрет апач питоновские файлы. Мод включил, директивы от mod_python к нему не подходят, а какие подходят че-то никак не найду.
Ну так у WSGI иной принцип запуска, да и mod_python с никак не связан, следовательно директивы от него и не подходят. Погуглите, в инете примеров куча по настройке mod_wsgi.
Блин. Это какая-то невезуха. Убрал питон 2.6.4, скачал и поставил 2.5.4, под него скачал PyGame, игрушки посмотрел. Потом достал с оф.сайта mod_python 3.3.1 для апача 2.2. Все подключил, апач запустился нормально. Только при открытии любого py файла 500 Server Error. В логах апач пишет, что ожидал Python 2.5 а нашел 2.5.4. На сайте mod_python тупо нет версии для 2.5.4
да забей ты на mod_python, юзай Tornado
Та да, что то с этими разницами версий нифига не работает mod
Да мод вообще фигово работает, тормоз он еще тот...