О поддержке Django в uwsgiconf 0.15
В свежей версии uwsgiconf был обучен интересным трюкам с Django
Как было обещано, расскажу о том, что умеет uwsgiconf, начиная с 0.15.
Итак, в комплекте с
После этого вам станут доступны дополнительные управляющие команды (через скрипт
Вот так, к примеру, можно создать новый Django-проект и запустить на uWSGI:
Если вы захотите подкрутить настройки uWSGI, то можно рядом с
После этого управляющие команды станут использовать вашу конфигурацию.
В дальшейшем
Однако это не все нововведения: с расширенным списком можно ознакомиться в файле изменений.
Продолжаем упрощать.
На заметку
uwsgiconf — приложение, упрощающее конфигурирование uWSGI и взаимодействие с ним. Желающие обзорно узнать чуть больше о uWSGI могут обратиться к слайдам из моего старого выступления — Введение в uWSGI.
uwsgify
Итак, в комплекте с
uwsgiconf
теперь идёт подключаемое Django-приложение под кодовым названием uwsgify
, которое нужно добавить в INSTALLED_APPS
:INSTALLED_APPS = [
...
'uwsgiconf.contrib.django.uwsgify',
]
После этого вам станут доступны дополнительные управляющие команды (через скрипт
manage.py
):uwsgi_run
— Запуск вашего Djagno-проекта при помощи uWSGI. Похоже на командуrunuwsgi
из django-uwsgi, однако позволяет весьма гибко настраивать uWSGI не переменными среды, а при помощи родных дляuwsgiconf
файловuwsgicfg.py
.uwsgi_reload
— Перезагрузка uWSGI (без остановки).uwsgi_stop
— Остановка uWSGI.uwsgi_log
— Управление мшинерией, связанной с журналом: ротация, повторное открытие.uwsgi_stats
— Вывод в журнал приложения текущей статистики и используемой конфигурации uWSGI.uwsgi_sysinit
— Помощник, составляющий файлы конфигурации для систем управления типаSystemd
,upstart
.
Вот так, к примеру, можно создать новый Django-проект и запустить на uWSGI:
; Создаём директорию и виртуальное окружение под новый проект.
$ mkdir abc
$ cd abc/
$ virtualenv -p /usr/bin/python3 venv
$ . venv/bin/activate
; Ставим всё нужное.
$ pip install django uwsgi uwsgiconf
; Создаём новый Django-проект.
$ django-admin startproject demo
$ cd demo/
; Добавим 'uwsgiconf.contrib.django.uwsgify' в INSTALLED_APPS
$ mcedit demo/settings.py
; Запускаем на http://localhost:8000
$ ./manage.py uwsgi_run
На заметку
О том, на сколько быстра/медленна созданная сейчас нами связка можно узнать из статьи «Narrow — кто быстрее в веб».
Если вы захотите подкрутить настройки uWSGI, то можно рядом с
manage.py
создать uwsgicfg.py
, в котором осуществить конфигурирование. Для начала подойдёт: from uwsgiconf.config import configure_uwsgi
def get_configurations():
from uwsgiconf.presets.nice import PythonSection
section = PythonSection(
wsgi_module='demo/wsgi.py'
).networking.register_socket(
PythonSection.networking.sockets.http('127.0.0.1:9000'))
return section
configure_uwsgi(get_configurations)
После этого управляющие команды станут использовать вашу конфигурацию.
В дальшейшем
uwsgify
, вероятно, будет пополняться и другими интересностями.Однако это не все нововведения: с расширенным списком можно ознакомиться в файле изменений.
Продолжаем упрощать.
На заметку
В соответствующем разделе вы можете зарегистрировать сообщество по интересам, чтобы о нём узнали и другие посетители сайта — возможно, так вы отыщите новых единомышленников и друзей.. И не важно виртуальное оно, или вполне реальное, давно существующее, или только-только придуманное.