Spec-Zone.ru › Werkzeug 0.16

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

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

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

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

from yourapplication import make_app
application = make_app()

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

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

Настройка 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.16.x/deployment/mod_wsgi/

Spec-Zone.ru

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