mod_python
mod_python — модуль веб-сервера Apache, который встраивает в него интерпретатор языка Python. mod_python позволяет добиться более высокой скорости выполнения веб-приложений на этом языке, чем при использовании CGI. В настоящее время, после около 3х лет неактивности с 2010 по 2013, проект возобновлен[1]. Но официальная документация по python по прежнему не рекомендует его использовать[2]. Вместо него рекомендуется использовать другие способы, например mod_wsgi.
Преимущества
Обычно, при запуске CGI-скрипта для каждого соединения создается отдельный процесс, что приводит к проблемам с производительностью при высоких нагрузках. Существуют способы оптимизации работы CGI, например FastCGI, который позволяет не запускать процесс при каждом обращении к серверу, а передает запросы уже запущенному процессу. Однако, часто проще бывает встроить в web-сервер модуль для нужного языка программирования. Одним из таких модулей и является mod_python: благодаря ему не тратятся системные ресурсы на запуск и удаление процессов.
После интеграции mod_python, скрипты использующие его могут делать почти то же самое, что и модули python, написанные на языке C: реализовывать протоколы помимо HTTP, фильтровать запросы к серверу и ответы на них, а также определять тип содержимого документов.
Недостатки
Встраивание Python программ в apache также имеет свои недостатки:
- Все приложения запускаются под одним uid/gid, что понижает безопасность, особенно в контексте одного сервера для нескольких клиентов.
- Необходимость перезагружать web-сервер Apache (требует привилегий суперпользователя, что вызывает проблемы в случае общего хостинга для нескольких пользователей) в случае обнаружения сбоев в коде python-скриптов, а также при их изменении.
- Низкое быстродействие по сравнению с mod_wsgi[3] (другой реализацией интеграции Apache и python)
См. также
Примечания
Ссылки
Это заготовка статьи о программном обеспечении. Помогите Википедии, дополнив её. |