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
,shell
isystem
, 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.uwsgi
Licencja
other
Pobrania
4.8k
Właściciel
Python/Django/Ansible, will code for sweet tea and beer.