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: Gdyuwsgi_install == "pip", określa wersję uWSGI do zainstalowania. Domyślnie instaluje najnowszą wersję.uwsgi_virtualenv: Gdyuwsgi_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 kluczname, 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 jesttrue, gdyuwsgi_install == "pip", w przeciwnym raziefalse.uwsgi_conf_template: Szablon lokalny do używania przy generowaniu konfiguracji cesarza uWSGI. Domyślnie ustawione zuwsgi_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 zuwsgi_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ślniefalse, 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 zuwsgi_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 zuwsgi_default_os_packages[uwsgi_install][ansible_pkg_mgr], co zainstaluje pakiety systemowe, gdyuwsgi_install == "pkg", a zależności rozwoju Pythona, gdyuwsgi_install == "pip".uwsgi_pip_packages: Lista pakietów pip do zainstalowania w celu wsparcia uWSGI, gdyuwsgi_install == "pip". Domyślnie ustawione zuwsgi_default_pip_packages, co skutkuje["uwsgi"].uwsgi_pip_executable: Alternatywna nazwa lub ścieżka do pip używanego do instalacji pakietów, gdyuwsgi_install == "pip"i nie instalując w wirtualnym środowisku. Domyślnie polega na modulepip, 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 zuwsgi_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ć kluczename,comment,group,home,shellisystem, odpowiadające odpowiednim parametrom modułu Ansibleuser.uwsgi_service_name: Nazwa usługi uWSGI. Domyślnie ustawione zuwsgi_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 nafalse, 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 zuwsgi_default_upstart_packages[ansible_pkg_mgr], co po prostu instaluje pakietupstart.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 nafalse, 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)
Zainstaluj
ansible-galaxy install cchurch.uwsgiLicencja
other
Pobrania
4.9k
Właściciel
Python/Django/Ansible, will code for sweet tea and beer.
