cchurch.uwsgi
uWSGI
Installieren Sie uWSGI im Kaiser-Modus und konfigurieren Sie Vassalen. Benötigt Ansible 2.4 oder höher.
Rollenvariablen
HINWEIS: Einige Variablennamen haben sich seit den Versionen 0.2.x geändert!
Die folgenden Variablen werden typischerweise definiert, um diese Rolle anzupassen:
uwsgi_install: Methode zur Installation von uWSGI; kann"pkg"(Standard) sein, um den Paketmanager des Systems zu verwenden, oder"pip", um es über pip zu installieren. Jeder andere Wert geht davon aus, dass uWSGI auf andere Weise installiert ist.uwsgi_version: Wennuwsgi_install == "pip"angegeben, eine Version von uWSGI zur Installation spezifizieren. Standard ist, die neueste verfügbare Version zu installieren.uwsgi_virtualenv: Wennuwsgi_install == "pip"installiert, wird uWSGI im angegebenen Virtualenv-Pfad installiert.uwsgi_vassals: Erstellen Sie INI-Konfigurationsdateien für alle angegebenen Vassalen. Muss eine Liste von Hashes sein, wobei jeder Hash mindestens einenname-Schlüssel zur Angabe des Dateinamens hat. Alle Schlüssel und Werte werden in der INI-Datei unter dem Abschnitt[uwsgi]geschrieben. Standard ist[].uwsgi_vassals_to_remove: Liste von Vassalnamen, die entfernt werden sollen; Standard ist[].
Die folgenden Variablen können verwendet werden, um die Konfiguration und die Pfade, die für den uWSGI-Kaiser verwendet werden, anzupassen:
uwsgi_emperor_tyrant: Führen Sie den Kaiser im Tyrannenmodus aus. Jede Vassal-Konfigurationsdatei wird von der im Vassal-Wahl angegebenen uid/gid besessen und als dieser Benutzer anstelle des Kaiserbenutzers ausgeführt. Standard isttrue, wennuwsgi_install == "pip"; andernfallsfalse.uwsgi_conf_template: Lokale Vorlage zur Erstellung der uWSGI-Kaiser-Konfiguration. Standard ist eingestellt vonuwsgi_default_conf_templates[ansible_pkg_mgr], was auf EL-Distributionen zu"uwsgi.ini.j2"und auf Ubuntu-Distributionen zu"emperor.ini.j2"auswertet.uwsgi_conf_path: Pfad zur uWSGI-Kaiser-Konfigurationsdatei. Standard setzt sich vonuwsgi_default_conf_paths[ansible_pkg_mgr], was auf EL-Distributionen zu"/etc/uwsgi.ini"und auf Ubuntu-Distributionen zu"/etc/uwsgi-emperor/emperor.ini"auswertet.uwsgi_conf_force: Ob das Überschreiben der uWSGI-Kaiser-Konfigurationsdatei erzwungen werden soll. Standard istfalse, um die Datei nur zu erstellen, wenn sie noch nicht existiert.uwsgi_vassal_path: Pfad, in dem der uWSGI-Kaiser nach Vassal-Konfigurationsdateien sucht. Standard wird vonuwsgi_default_vassal_paths[ansible_pkg_mgr]gesetzt, was auf EL-Distributionen zu"/etc/uwsgi.d"und auf Ubuntu-Distributionen zu"/etc/uwsgi-emperor/vassals"auswertet.
Die folgenden Variablen können verwendet werden, um die installierten Pakete zur Unterstützung von uWSGI anzupassen:
uwsgi_os_packages: Liste der Systempakete, die installiert werden sollen, um uWSGI zu unterstützen. Standard setzt sich vonuwsgi_default_os_packages[uwsgi_install][ansible_pkg_mgr], das Systempakete beiuwsgi_install == "pkg"installiert und Python-Entwicklungsabhängigkeiten beiuwsgi_install == "pip".uwsgi_pip_packages: Liste der pip-Pakete, die installiert werden sollen, um uWSGI zu unterstützen, wennuwsgi_install == "pip". Standard wird vonuwsgi_default_pip_packagesgesetzt, was zu["uwsgi"]auswertet.uwsgi_pip_executable: Alternativer Name oder Pfad von pip, der verwendet wird, um Pakete zu installieren, wennuwsgi_install == "pip"und nicht in ein Virtualenv installiert wird. Standardmäßig wird derpip-Modul bestimmt, welches pip-Executable verwendet werden soll.
Die folgenden Variablen können verwendet werden, um die Dienstkonfiguration anzupassen, wenn uWSGI nicht über den Systempaketmanager installiert wird und über Upstart oder systemd verwaltet wird:
uwsgi_user_group: Benutzer-/Gruppeninformationen zum Ausführen des uWSGI-Kaisers. Standard setzt sich vonuwsgi_default_user_group[ansible_pkg_mgr], das den Systembenutzer und die Gruppe"uwsgi:uwsgi"auf EL-Distributionen und"www-data:www-data"auf Ubuntu-Distributionen erstellt, genauso wie sie von der Systempaketversion von uWSGI verwendet werden würden. Der Benutzer/Gruppen-Hash kannname,comment,group,home,shellundsystem-Schlüssel enthalten, die den entsprechenden Parametern im Ansibleuser-Modul entsprechen.uwsgi_service_name: Name des uWSGI-Dienstes. Standard wird vonuwsgi_default_service_names[ansible_pkg_mgr]gesetzt, das auf EL-Distributionen zu"uwsgi"und auf Ubuntu-Distributionen zu"uwsgi-emperor"auswertet.uwsgi_bin: Pfad zur verwendeten uWSGI-Binärdatei für die Upstart- oder Systemd-Konfiguration; wird automatisch bestimmt, wenn nicht angegeben.uwsgi_opts: Befehlszeilenoptionen, die beim Ausführen von uWSGI über Upstart oder systemd verwendet werden; standardmäßig werden die in der uWSGI-Konfigurationsdatei angegebenen Optionen ausgeführt:"--die-on-term --ini {{uwsgi_conf_path|quote}}".uwsgi_use_upstart: Boolean, der angibt, ob Upstart verwendet werden soll, um den uWSGI-Dienst zu erstellen und zu verwalten. Standardmäßig undefiniert und wird nur aktiviert, wenn uWSGI nicht über den Systempaketmanager auf Distributionen außer EL 7 installiert ist. Kann auffalsegesetzt werden, um die Verwendung von Upstart zur Verwaltung des uWSGI-Dienstes ausdrücklich zu deaktivieren.uwsgi_upstart_packages: Liste der Systempakete, die installiert werden sollen, um uWSGI über Upstart auszuführen. Standard wird vonuwsgi_default_upstart_packages[ansible_pkg_mgr]gesetzt, das einfach dasupstart-Paket installiert.uwsgi_upstart_description: Beschreibung für den uWSGI-Upstart-Dienst; Standard ist"uWSGI Server".uwsgi_upstart_template: Lokale Vorlage zur Erstellung der Upstart-uWSGI-Konfiguration; Standard ist"uwsgi-upstart.conf.j2".uwsgi_upstart_path: Pfad zur Installation der Upstart-uWSGI-Konfiguration; Standard ist"/etc/init/{{_uwsgi_service_name}}.conf".uwsgi_use_systemd: Boolean, der angibt, ob systemd verwendet werden soll, um den uWSGI-Dienst zu erstellen und zu verwalten. Standardmäßig undefiniert und wird nur aktiviert, wenn uWSGI nicht über den Systempaketmanager auf EL 7-Distributionen installiert ist. Kann auffalsegesetzt werden, um die Verwendung von systemd zur Verwaltung des uWSGI-Dienstes ausdrücklich zu deaktivieren.uwsgi_systemd_template: Lokale Vorlage zur Erstellung des systemd-uWSGI-Dienstes; Standard ist"uwsgi.service.j2".uwsgi_systemd_path: Pfad zur Installation des System-uWSGI-Servers; Standard ist"/etc/systemd/system/{{_uwsgi_service_name}}.service".
Beispiel-Playbook
Das folgende Beispiel-Playbook installiert uWSGI über pip und konfiguriert einen einzelnen Vassalen, der eine Django-Website ausführt:
- 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
Lizenz
BSD
Autoreninformation
Chris Church (cchurch)
ansible-galaxy install cchurch.uwsgi