Spec-Zone.ru › Werkzeug 2.1

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 вы столкнётесь с ошибками segfault дочерних процессов, вы можете их спокойно игнорировать. Просто перезапустите сервер.

Создание файла .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–2021 Pallets
Licensed under the BSD 3-clause License.
https://werkzeug.palletsprojects.com/en/2.0.x/deployment/mod_wsgi/

Spec-Zone.ru

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