Инструменты пользователя

Инструменты сайта


Боковая панель

Связь

mod_wsgi

mod_wsgi

Модуль позволяет Apache работать c web-приложениями, написанными на языке Python. Позволяет запускать web-приложения в двух режимах:

  • режим встраивания, при котором используются одинаковые идентификаторы пользователя(uid) и группы(gid) для всех использующих модуль приложений
  • режим демона (доступен для Apache 2.x) - где можно задать пользователя, от имени которого будет запускаться каждое приложение, что повышает безопасность в случае общего хостинга для разных пользователей.

Есть несколько причин для перехода с mod_python на mod_wsgi:

  • mod_python больше не поддерживается разработчиком;
  • mod_wsgi требует меньше ресурсов для своей работы и обладает большими возможностями в настройке.

Установка mod_wsgi

# aptitude show libapache2-mod-wsgi
Пакет: libapache2-mod-wsgi
Состояние: не установлен
Версия: 2.3-1build1
Приоритет: необязательный
Раздел: universe/python
Сопровождающий: Ubuntu MOTU Developers <ubuntu-motu@lists.ubuntu.com>
Размер в распакованном виде: 381k
Зависимости: apache2, apache2.2-common, libc6 (>= 2.4), python (>= 2.5), python (< 2.7)
Предлагает: apache2-mpm-worker | apache2-mpm-event
Описание: Python WSGI adapter module for Apache
 The mod_wsgi adapter is an Apache module that provides a WSGI (Web Server Gateway Interface, a standard interface between web server software and web
 applications written in Python) compliant interface for hosting Python based web applications within Apache. The adapter provides significantly better
 performance than using existing WSGI adapters for mod_python or CGI.
Сайт: http://www.modwsgi.org/
# aptitude install libapache2-mod-wsgi
...
Настраивается пакет libapache2-mod-wsgi (2.3-1build1) ...
 * Reloading web server config apache2
....

Команды /etc/init.d/apache2 reload при установке libapache2-mod-wsgi оказалось недостаточно. Нужно полностью перезапустить Apache.

# /etc/init.d/apache2 stop
# /etc/init.d/apache2 start

Проверяем подключен ли mod в Apache:

# tail -F /var/log/apache2/error.log

Вы должны увидеть строку:

[Sun Jul 05 21:53:18 2009] [warn] mod_wsgi: Compiled for Python/2.6.1+.
[Sun Jul 05 21:53:18 2009] [warn] mod_wsgi: Runtime using Python/2.6.2.
[Sun Jul 05 21:53:18 2009] [warn] mod_wsgi: Python module path '/usr/lib/python2.6/
:/usr/lib/python2.6/plat-linux2:/usr/lib/python2.6/lib-tk:/usr/lib/python2.6/lib-old
:/usr/lib/python2.6/lib-dynload'.
[Sun Jul 05 21:53:18 2009] [notice] Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.1 with Suhosin-Patch
mod_wsgi/2.3 Python/2.6.2 configured -- resuming normal operations

Просмотр лога показывает, что mod_wsgi/2.3 подключен.

Ссылки




mod_wsgi.txt · Последние изменения: 2011/07/26 07:20 (внешнее изменение)