Spec-Zone.ru › Werkzeug 0.15

mod_wsgi (Apache)

Если вы используете веб-сервер Apache, то вам следует рассмотреть использование mod_wsgi.

Установка mod_wsgi

Если у вас ещё не установлен mod_wsgi, то вы должны либо установить его с помощью менеджера пакетов, либо скомпилировать его самостоятельно.

Инструкции по установке mod_wsgi инструкции по установке охватывают установку из исходного кода на системах UNIX.

Если вы используете ubuntu/debian, вы можете установить его с помощью apt-get и активировать следующим образом:

# apt-get install libapache2-mod-wsgi

В FreeBSD установите mod_wsgi, скомпилировав порт www/mod_wsgi или используя pkg_add:

# pkg_add -r mod_wsgi

Если вы используете pkgsrc, вы можете установить mod_wsgi, скомпилировав пакет www/ap2-wsgi.

Если после первой перезагрузки Apache вы столкнунетесь с ошибками сегментирования дочерних процессов, можете их спокойно игнорировать. Просто перезапустите сервер.

Создание файла .wsgi

Для запуска приложения вам нужен файл yourapplication.wsgi. Этот файл содержит код, который mod_wsgi выполняет при запуске, чтобы получить объект приложения. Объект, называемый application в этом файле, затем используется как приложение.

Для большинства приложений должен подойти следующий файл:

from yourapplication import make_app
application = make_app()

Если у вас нет функции-фабрики для создания приложения, но есть одиночный экземпляр, вы можете напрямую импортировать его как application.

Сохраните этот файл в месте, где вы его сможете найти (например: /var/www/yourapplication) и убедитесь, что yourapplication и все используемые библиотеки находятся на пути загрузки Python. Если вы не хотите устанавливать его на весь системный путь, рассмотрите использование виртуальной среды Python virtual python.

Настройка Apache

Последнее, что вам нужно сделать, это создать файл конфигурации Apache для вашего приложения. В этом примере мы говорим mod_wsgi выполнить приложение под другим пользователем по соображениям безопасности:

<VirtualHost *>
    ServerName example.com

    WSGIDaemonProcess yourapplication user=user1 group=group1 processes=2 threads=5
    WSGIScriptAlias / /var/www/yourapplication/yourapplication.wsgi

    <Directory /var/www/yourapplication>
        WSGIProcessGroup yourapplication
        WSGIApplicationGroup %{GLOBAL}
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

© 2007–2020 Pallets
Licensed under the BSD 3-clause License.
https://werkzeug.palletsprojects.com/en/0.15.x/deployment/mod_wsgi/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API