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_packages
gesetzt, 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
,shell
undsystem
-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 auffalse
gesetzt 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 auffalse
gesetzt 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