cchurch.uwsgi

uWSGI

Zainstaluj uWSGI w trybie cesarza i skonfiguruj wasali. Wymaga Ansible 2.4 lub nowszego.

Zmienne roli

UWAGA: Niektóre nazwy zmiennych zmieniły się od wersji 0.2.x!

Poniższe zmienne można zdefiniować, aby dostosować tę rolę:

  • uwsgi_install: Metoda instalacji uWSGI; może być "pkg" (domyślnie), aby użyć menedżera pakietów systemowych, lub "pip", aby zainstalować przez pip. Inna wartość oznacza, że uWSGI jest zainstalowane innymi metodami.
  • uwsgi_version: Gdy uwsgi_install == "pip", określa wersję uWSGI do zainstalowania. Domyślnie instaluje najnowszą wersję.
  • uwsgi_virtualenv: Gdy uwsgi_install == "pip", instaluje uWSGI w określonej ścieżce wirtualnego środowiska.
  • uwsgi_vassals: Tworzy pliki konfiguracyjne INI dla wskazanych wasali. Musi być listą hashy, gdzie każdy hash ma co najmniej klucz name, który określa nazwę pliku. Wszystkie klucze i wartości są zapisywane w pliku INI w sekcji [uwsgi]. Domyślnie jest [].
  • uwsgi_vassals_to_remove: Lista nazw wasali do usunięcia; domyślnie jest [].

Poniższe zmienne można użyć do dostosowania konfiguracji i ścieżek używanych dla cesarza uWSGI:

  • uwsgi_emperor_tyrant: Uruchamia cesarza w trybie tyrana. Każdy plik konfiguracyjny wasala będzie własnością uid/gid określonego w opcjach wasala i będzie uruchamiany jako ten użytkownik zamiast użytkownika cesarza. Domyślnie jest true, gdy uwsgi_install == "pip", w przeciwnym razie false.
  • uwsgi_conf_template: Szablon lokalny do używania przy generowaniu konfiguracji cesarza uWSGI. Domyślnie ustawione z uwsgi_default_conf_templates[ansible_pkg_mgr], co skutkuje "uwsgi.ini.j2" dla dystrybucji EL i "emperor.ini.j2" dla dystrybucji Ubuntu.
  • uwsgi_conf_path: Ścieżka do pliku konfiguracyjnego cesarza uWSGI. Domyślnie ustawione z uwsgi_default_conf_paths[ansible_pkg_mgr], co skutkuje "/etc/uwsgi.ini" dla dystrybucji EL i "/etc/uwsgi-emperor/emperor.ini" dla dystrybucji Ubuntu.
  • uwsgi_conf_force: Czy wymusić nadpisanie pliku konfiguracyjnego cesarza uWSGI. Domyślnie false, aby tylko tworzyć plik, jeśli nie istnieje.
  • uwsgi_vassal_path: Ścieżka, w której cesarz uWSGI będzie szukał plików konfiguracyjnych wasali. Domyślnie ustawione z uwsgi_default_vassal_paths[ansible_pkg_mgr], co skutkuje "/etc/uwsgi.d" dla dystrybucji EL i "/etc/uwsgi-emperor/vassals" dla dystrybucji Ubuntu.

Poniższe zmienne można użyć do dostosowania pakietów zainstalowanych w celu wsparcia uWSGI:

  • uwsgi_os_packages: Lista pakietów systemowych do zainstalowania w celu wsparcia uWSGI. Domyślnie ustawione z uwsgi_default_os_packages[uwsgi_install][ansible_pkg_mgr], co zainstaluje pakiety systemowe, gdy uwsgi_install == "pkg", a zależności rozwoju Pythona, gdy uwsgi_install == "pip".
  • uwsgi_pip_packages: Lista pakietów pip do zainstalowania w celu wsparcia uWSGI, gdy uwsgi_install == "pip". Domyślnie ustawione z uwsgi_default_pip_packages, co skutkuje ["uwsgi"].
  • uwsgi_pip_executable: Alternatywna nazwa lub ścieżka do pip używanego do instalacji pakietów, gdy uwsgi_install == "pip" i nie instalując w wirtualnym środowisku. Domyślnie polega na module pip, aby określić, którego wykonawczego pliku pip użyć.

Poniższe zmienne można użyć do dostosowania konfiguracji usługi, gdy uWSGI nie jest zainstalowane za pomocą menedżera pakietów systemowych i jest zarządzane przez upstart lub systemd:

  • uwsgi_user_group: Informacje o użytkowniku/grupie dla uruchamiania cesarza uWSGI. Domyślnie ustawione z uwsgi_default_user_group[ansible_pkg_mgr], co tworzy systemowego użytkownika i grupę "uwsgi:uwsgi" dla dystrybucji EL oraz "www-data:www-data" dla dystrybucji Ubuntu, tak jakby było to używane przez systemową wersję pakietu uWSGI. Hash użytkownika/grupy może zawierać klucze name, comment, group, home, shell i system, odpowiadające odpowiednim parametrom modułu Ansible user.
  • uwsgi_service_name: Nazwa usługi uWSGI. Domyślnie ustawione z uwsgi_default_service_names[ansible_pkg_mgr], co skutkuje "uwsgi" dla dystrybucji EL i "uwsgi-emperor" dla dystrybucji Ubuntu.
  • uwsgi_bin: Ścieżka do pliku wykonywalnego uWSGI do użycia w konfiguracji upstart lub systemd; zostanie automatycznie określona, jeśli nie jest podana.
  • uwsgi_opts: Opcje wiersza poleceń do użycia podczas uruchamiania uWSGI przez upstart lub systemd; domyślnie uruchamia się z opcjami określonymi w pliku konfiguracyjnym uWSGI: "--die-on-term --ini {{uwsgi_conf_path|quote}}".
  • uwsgi_use_upstart: Wartość logiczna wskazująca, czy używać upstart do tworzenia i zarządzania usługą uWSGI. Domyślnie undefined, a zostanie włączona tylko wtedy, gdy uWSGI nie jest zainstalowane za pomocą menedżera pakietów systemowych na dystrybucjach innych niż EL 7. Może być ustawiona na false, aby wyraźnie wyłączyć użycie upstart do zarządzania usługą uWSGI.
  • uwsgi_upstart_packages: Lista pakietów systemowych do zainstalowania w celu wsparcia uruchamiania uWSGI przez upstart. Domyślnie ustawione z uwsgi_default_upstart_packages[ansible_pkg_mgr], co po prostu instaluje pakiet upstart.
  • uwsgi_upstart_description: Opis usługi uWSGI upstart, domyślnie to "uWSGI Server".
  • uwsgi_upstart_template: Szablon lokalny do używania przy generowaniu konfiguracji upstart uWSGI; domyślnie to "uwsgi-upstart.conf.j2".
  • uwsgi_upstart_path: Ścieżka do instalacji konfiguracji upstart uWSGI; domyślnie to "/etc/init/{{_uwsgi_service_name}}.conf".
  • uwsgi_use_systemd: Wartość logiczna wskazująca, czy używać systemd do tworzenia i zarządzania usługą uWSGI. Domyślnie undefined, a zostanie włączona tylko wtedy, gdy uWSGI nie jest zainstalowane za pomocą menedżera pakietów systemowych na dystrybucjach EL 7. Może być ustawiona na false, aby wyraźnie wyłączyć użycie systemd do zarządzania usługą uWSGI.
  • uwsgi_systemd_template: Szablon lokalny do używania przy generowaniu usługi systemd uWSGI; domyślnie to "uwsgi.service.j2".
  • uwsgi_systemd_path: Ścieżka do instalacji serwera systemowego uWSGI; domyślnie to "/etc/systemd/system/{{_uwsgi_service_name}}.service".

Przykład Playbooka

Poniższy przykładowy playbook instaluje uWSGI przez pip i konfiguruje jednego wasala uruchamiającego stronę 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

Licencja

BSD

Informacje o autorze

Chris Church (cchurch)

O projekcie

Install uWSGI in emperor mode and configure vassals.

Zainstaluj
ansible-galaxy install cchurch.uwsgi
Licencja
other
Pobrania
4.8k
Właściciel
Python/Django/Ansible, will code for sweet tea and beer.