uwsgi
uWSGI
Установите uWSGI в режиме императора и настройте вассалов. Требуется Ansible версии 2.4 или выше.
Переменные роли
ПРИМЕЧАНИЕ: Некоторые имена переменных изменились с версии 0.2.x!
Следующие переменные обычно определяются для настройки этой роли:
uwsgi_install
: Метод установки uWSGI; может быть"pkg"
(по умолчанию) для использования системного менеджера пакетов или"pip"
для установки через pip. Любое другое значение предполагает, что uWSGI установлен другими способами.uwsgi_version
: Когдаuwsgi_install == "pip"
, укажите версию uWSGI для установки. По умолчанию устанавливается последняя доступная версия.uwsgi_virtualenv
: Когдаuwsgi_install == "pip"
, uWSGI устанавливается в указанный путь виртуального окружения.uwsgi_vassals
: Создать INI-файлы конфигурации для любых указанных вассалов. Должен быть списком хешей, причем каждый хеш должен содержать хотя бы ключname
, чтобы указать имя файла. Все ключи и значения записываются в INI-файл в разделе[uwsgi]
. По умолчанию[]
.uwsgi_vassals_to_remove
: Список имен вассалов для удаления; по умолчанию[]
.
Следующие переменные могут быть использованы для настройки конфигурации и путей для императора uWSGI:
uwsgi_emperor_tyrant
: Запустить императора в режиме тирана. Каждый файл конфигурации вассала будет принадлежать uid/gid, указанному в опциях вассала, и будет выполняться от имени этого пользователя, а не от имени пользователя императора. По умолчаниюtrue
, когдаuwsgi_install == "pip"
, иfalse
в противном случае.uwsgi_conf_template
: Локальный шаблон для генерации конфигурации императора uWSGI. По умолчанию устанавливается изuwsgi_default_conf_templates[ansible_pkg_mgr]
, что соответствует"uwsgi.ini.j2"
для дистрибутивов EL и"emperor.ini.j2"
для дистрибутивов Ubuntu.uwsgi_conf_path
: Путь к конфигурационному файлу императора uWSGI. По умолчанию устанавливается изuwsgi_default_conf_paths[ansible_pkg_mgr]
, что соответствует"/etc/uwsgi.ini"
для дистрибутивов EL и"/etc/uwsgi-emperor/emperor.ini"
для дистрибутивов Ubuntu.uwsgi_conf_force
: Необходимо ли принудительно перезаписать файл конфигурации императора uWSGI. По умолчаниюfalse
, чтобы создавать файл только если он еще не существует.uwsgi_vassal_path
: Путь, по которому император uWSGI будет искать файлы конфигурации вассалов. По умолчанию устанавливается изuwsgi_default_vassal_paths[ansible_pkg_mgr]
, что соответствует"/etc/uwsgi.d"
для дистрибутивов EL и"/etc/uwsgi-emperor/vassals"
для дистрибутивов Ubuntu.
Следующие переменные могут быть использованы для настройки пакетов, установленных для поддержки uWSGI:
uwsgi_os_packages
: Список системных пакетов, которые необходимо установить для поддержки uWSGI. По умолчанию устанавливается изuwsgi_default_os_packages[uwsgi_install][ansible_pkg_mgr]
, что установит системные пакеты, когдаuwsgi_install == "pkg"
, и зависимости для разработки Python, когдаuwsgi_install == "pip"
.uwsgi_pip_packages
: Список pip-пакетов для установки в поддержку uWSGI приuwsgi_install == "pip"
. По умолчанию устанавливается изuwsgi_default_pip_packages
, что соответствует["uwsgi"]
.uwsgi_pip_executable
: Альтернативное имя или путь к pip, используемому для установки пакетов, когдаuwsgi_install == "pip"
и не производится установка в виртуальное окружение. По умолчанию используется исполняемый файл pip, определяемый модулемpip
.
Следующие переменные могут быть использованы для настройки конфигурации службы, когда uWSGI не установлен через системный менеджер пакетов и управляется через upstart или systemd:
uwsgi_user_group
: Информация о пользователе/группе для запуска императора uWSGI. По умолчанию устанавливается изuwsgi_default_user_group[ansible_pkg_mgr]
, что создаст системного пользователя и группу"uwsgi:uwsgi"
для дистрибутивов EL и"www-data:www-data"
для дистрибутивов Ubuntu, то же самое, что использует версия uWSGI из системного пакета. Хеш пользователя/группы может содержать ключиname
,comment
,group
,home
,shell
иsystem
, соответствующие эквивалентным параметрам модуля Ansibleuser
.uwsgi_service_name
: Имя службы uWSGI. По умолчанию устанавливается изuwsgi_default_service_names[ansible_pkg_mgr]
, что соответствует"uwsgi"
для дистрибутивов EL и"uwsgi-emperor"
для дистрибутивов Ubuntu.uwsgi_bin
: Путь к бинарному файлу uWSGI, который используется для конфигурации upstart или systemd; будет определен автоматически, если не указан.uwsgi_opts
: Параметры командной строки, которые будут использоваться при запуске uWSGI через upstart или systemd; по умолчанию запускается с параметрами, указанными в конфигурационном файле uWSGI:"--die-on-term --ini {{uwsgi_conf_path|quote}}"
.uwsgi_use_upstart
: Логическое значение, указывающее, следует ли использовать upstart для создания и управления службой uWSGI. По умолчанию неопределено и будет включено только в том случае, если uWSGI не установлен через системный менеджер пакетов на дистрибутивах, отличных от EL 7. Может быть установлено вfalse
, чтобы явно отключить использование upstart для управления службой uWSGI.uwsgi_upstart_packages
: Список системных пакетов для установки, чтобы поддерживать работу uWSGI через upstart. По умолчанию устанавливается изuwsgi_default_upstart_packages[ansible_pkg_mgr]
, что просто установит пакетupstart
.uwsgi_upstart_description
: Описание службы uWSGI upstart, по умолчанию"uWSGI Server"
.uwsgi_upstart_template
: Локальный шаблон для генерации конфигурации uWSGI upstart; по умолчанию"uwsgi-upstart.conf.j2"
.uwsgi_upstart_path
: Путь для установки конфигурации uWSGI upstart; по умолчанию"/etc/init/{{_uwsgi_service_name}}.conf"
.uwsgi_use_systemd
: Логическое значение, указывающее, следует ли использовать systemd для создания и управления службой uWSGI. По умолчанию неопределено и будет включено только в том случае, если uWSGI не установлен через системный менеджер пакетов на дистрибутивах EL 7. Может быть установлено вfalse
, чтобы явно отключить использование systemd для управления службой uWSGI.uwsgi_systemd_template
: Локальный шаблон для генерации службы uWSGI systemd; по умолчанию"uwsgi.service.j2"
.uwsgi_systemd_path
: Путь для установки системного сервера uWSGI; по умолчанию"/etc/systemd/system/{{_uwsgi_service_name}}.service"
.
Пример плейбука
Следующий пример плейбука устанавливает uWSGI через pip и настраивает одного вассала, работающего на сайте Django:
- hosts: all
roles:
- role: cchurch.uwsgi
vars:
uwsgi_install: pip
uwsgi_vassals:
- name: example
plugin: python
chdir: /opt/example/src
module: example.wsgi
home: /opt/example/env
env: DJANGO_SETTINGS_MODULE=example.settings
processes: 4
socket: 127.0.0.1:8000
uid: example
gid: example
Лицензия
BSD
Информация об авторе
Крис Чёрч (cchurch)
Установить
ansible-galaxy install cchurch/ansible-role-uwsgi
Лицензия
other
Загрузки
4795
Владелец
Python/Django/Ansible, will code for sweet tea and beer.