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, соответствующие эквивалентным параметрам модуля Ansible user.
  • 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)

О проекте

Install uWSGI in emperor mode and configure vassals.

Установить
ansible-galaxy install cchurch/ansible-role-uwsgi
Лицензия
other
Загрузки
4834
Владелец
Python/Django/Ansible, will code for sweet tea and beer.