cchurch.uwsgi

Estado de Construcción Galaxy

uWSGI

Instala uWSGI en modo emperador y configura los vasallos. Requiere Ansible 2.4 o posterior.

Variables del Rol

NOTA: ¡Algunos nombres de variables han cambiado desde las versiones 0.2.x!

Las siguientes variables se suelen definir para personalizar este rol:

  • uwsgi_install: Método para instalar uWSGI; puede ser "pkg" (predeterminado) para usar el gestor de paquetes del sistema o "pip" para instalar a través de pip. Cualquier otro valor asume que uWSGI está instalado por otros medios.
  • uwsgi_version: Cuando uwsgi_install == "pip", especifica una versión de uWSGI para instalar. El predeterminado es instalar la última versión disponible.
  • uwsgi_virtualenv: Cuando uwsgi_install == "pip", instala uWSGI en la ruta virtualenv especificada.
  • uwsgi_vassals: Crea archivos de configuración INI para cualquier vasallo especificado. Debe ser una lista de hashes, donde cada hash tiene al menos una clave name para especificar el nombre del archivo. Todas las claves y valores se escriben en el archivo INI bajo la sección [uwsgi]. El predeterminado es [].
  • uwsgi_vassals_to_remove: Lista de nombres de vasallos a eliminar; el predeterminado es [].

Las siguientes variables se pueden usar para personalizar la configuración y las rutas utilizadas para el emperador de uWSGI:

  • uwsgi_emperor_tyrant: Ejecuta el emperador en modo tirano. Cada archivo de configuración de vasallo será propiedad del uid/gid especificado en las opciones del vasallo y se ejecutará como ese usuario en lugar del usuario emperador. El predeterminado es true cuando uwsgi_install == "pip", false de lo contrario.
  • uwsgi_conf_template: Plantilla local a utilizar para generar la configuración del emperador de uWSGI. El predeterminado se establece desde uwsgi_default_conf_templates[ansible_pkg_mgr], que evalúa a "uwsgi.ini.j2" en distribuciones EL y "emperor.ini.j2" en distribuciones Ubuntu.
  • uwsgi_conf_path: Ruta al archivo de configuración del emperador de uWSGI. El predeterminado se establece desde uwsgi_default_conf_paths[ansible_pkg_mgr], que evalúa a "/etc/uwsgi.ini" en distribuciones EL y "/etc/uwsgi-emperor/emperor.ini" en distribuciones Ubuntu.
  • uwsgi_conf_force: Si se debe forzar la sobreescritura del archivo de configuración del emperador de uWSGI. El predeterminado es false para solo crear el archivo si no existe aún.
  • uwsgi_vassal_path: Ruta que el emperador de uWSGI debe seguir para buscar archivos de configuración de vasallos. El predeterminado se establece desde uwsgi_default_vassal_paths[ansible_pkg_mgr], que evalúa a "/etc/uwsgi.d" en distribuciones EL y "/etc/uwsgi-emperor/vassals" en distribuciones Ubuntu.

Las siguientes variables se pueden usar para personalizar los paquetes instalados para apoyar a uWSGI:

  • uwsgi_os_packages: Lista de paquetes del sistema a instalar para apoyar a uWSGI. El predeterminado se establece desde uwsgi_default_os_packages[uwsgi_install][ansible_pkg_mgr], que instalará paquetes del sistema cuando uwsgi_install == "pkg" y dependencias de desarrollo de Python cuando uwsgi_install == "pip".
  • uwsgi_pip_packages: Lista de paquetes pip a instalar para apoyar a uWSGI cuando uwsgi_install == "pip". El predeterminado se establece desde uwsgi_default_pip_packages, que evalúa a ["uwsgi"].
  • uwsgi_pip_executable: Nombre o ruta alternativo de pip utilizado para instalar paquetes cuando uwsgi_install == "pip" y No se instala en un virtualenv. El predeterminado es permitir que el módulo pip determine qué ejecutable de pip usar.

Las siguientes variables pueden usarse para personalizar la configuración del servicio cuando uWSGI no está instalado a través del gestor de paquetes del sistema y se gestiona a través de upstart o systemd:

  • uwsgi_user_group: Información de usuario/grupo para ejecutar el emperador de uWSGI. El predeterminado se establece desde uwsgi_default_user_group[ansible_pkg_mgr], que crea "uwsgi:uwsgi" como usuario y grupo del sistema en distribuciones EL y "www-data:www-data" como usuario y grupo del sistema en distribuciones Ubuntu, el mismo que sería utilizado por la versión del paquete del sistema de uWSGI. El hash de usuario/grupo puede contener name, comment, group, home, shell y system, correspondientes a los parámetros equivalentes del módulo de Ansible user.
  • uwsgi_service_name: Nombre del servicio uWSGI. El predeterminado se establece desde uwsgi_default_service_names[ansible_pkg_mgr], que evalúa a "uwsgi" para distribuciones EL y "uwsgi-emperor" para distribuciones Ubuntu.
  • uwsgi_bin: Ruta al binario de uWSGI a utilizar para la configuración de upstart o systemd; se determinará automáticamente si no se especifica.
  • uwsgi_opts: Opciones de línea de comandos a usar al ejecutar uWSGI a través de upstart o systemd; el predeterminado es ejecutar usando las opciones especificadas en el archivo de configuración de uWSGI: "--die-on-term --ini {{uwsgi_conf_path|quote}}".
  • uwsgi_use_upstart: Booleano que indica si se debe usar upstart para crear y gestionar el servicio uWSGI. Es indefinido de forma predeterminada, y solo se habilitará cuando uWSGI no esté instalado a través del gestor del paquete del sistema en distribuciones que no sean EL 7. Se puede establecer en false para desactivar explícitamente el uso de upstart para gestionar el servicio uWSGI.
  • uwsgi_upstart_packages: Lista de paquetes del sistema a instalar para apoyar la ejecución de uWSGI a través de upstart. El predeterminado se establece desde uwsgi_default_upstart_packages[ansible_pkg_mgr], que simplemente instala el paquete upstart.
  • uwsgi_upstart_description: Descripción del servicio de upstart de uWSGI, el predeterminado es "Servidor uWSGI".
  • uwsgi_upstart_template: Plantilla local para generar la configuración de uWSGI para upstart; el predeterminado es "uwsgi-upstart.conf.j2".
  • uwsgi_upstart_path: Ruta para instalar la configuración de uWSGI para upstart; el predeterminado es "/etc/init/{{_uwsgi_service_name}}.conf".
  • uwsgi_use_systemd: Booleano que indica si se debe usar systemd para crear y gestionar el servicio uWSGI. Es indefinido de forma predeterminada, y solo se habilitará cuando uWSGI no esté instalado a través del gestor de paquetes del sistema en distribuciones EL 7. Se puede establecer en false para desactivar explícitamente el uso de systemd para gestionar el servicio uWSGI.
  • uwsgi_systemd_template: Plantilla local para generar el servicio uWSGI para systemd; el predeterminado es "uwsgi.service.j2".
  • uwsgi_systemd_path: Ruta para instalar el servidor uWSGI del sistema; el predeterminado es "/etc/systemd/system/{{_uwsgi_service_name}}.service".

Ejemplo de Playbook

El siguiente ejemplo de playbook instala uWSGI a través de pip y configura un solo vasallo que ejecuta un sitio 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

Licencia

BSD

Información del Autor

Chris Church (cchurch)

Acerca del proyecto

Install uWSGI in emperor mode and configure vassals.

Instalar
ansible-galaxy install cchurch.uwsgi
Licencia
other
Descargas
4.8k
Propietario
Python/Django/Ansible, will code for sweet tea and beer.