cchurch.uwsgi
uWSGI
以皇帝模式安装 uWSGI 并配置附属者。需要 Ansible 2.4 或更高版本。
角色变量
注意:一些变量名称自 0.2.x 版本以来已更改!
以下变量通常用于自定义该角色:
uwsgi_install:安装 uWSGI 使用的方法;可以是"pkg"(默认)使用系统包管理器,或"pip"通过 pip 安装。其他值表示通过其他方式安装 uWSGI。uwsgi_version:当uwsgi_install == "pip"时,指定要安装的 uWSGI 版本。默认是安装可用的最新版本。uwsgi_virtualenv:当uwsgi_install == "pip"时,将 uWSGI 安装到指定的虚拟环境路径。uwsgi_vassals:为指定的任何附属者创建 INI 配置文件。必须是哈希列表,每个哈希至少包含一个name键以指定文件名。所有键和值将写入[uwsgi]部分的 INI 文件中。默认是[]。uwsgi_vassals_to_remove:要删除的附属者名称列表;默认是[]。
以下变量可用于自定义 uWSGI 皇帝的配置和路径:
uwsgi_emperor_tyrant:以暴君模式运行皇帝。每个附属者配置文件将由附属者选项中指定的 uid/gid 拥有,并以该用户的身份运行,而不是皇帝用户。默认是在uwsgi_install == "pip"时为true,否则为false。uwsgi_conf_template:用于生成 uWSGI 皇帝配置的本地模板。默认值由uwsgi_default_conf_templates[ansible_pkg_mgr]设置,在 EL 发行版中评估为"uwsgi.ini.j2",在 Ubuntu 发行版中评估为"emperor.ini.j2"。uwsgi_conf_path:uWSGI 皇帝配置文件的路径。默认值由uwsgi_default_conf_paths[ansible_pkg_mgr]设置,在 EL 发行版中评估为"/etc/uwsgi.ini",在 Ubuntu 发行版中评估为"/etc/uwsgi-emperor/emperor.ini"。uwsgi_conf_force:是否强制覆盖 uWSGI 皇帝配置文件。默认值为false,仅在文件不存在时创建文件。uwsgi_vassal_path:uWSGI 皇帝查找附属者配置文件的路径。默认值由uwsgi_default_vassal_paths[ansible_pkg_mgr]设置,在 EL 发行版中评估为"/etc/uwsgi.d",在 Ubuntu 发行版中评估为"/etc/uwsgi-emperor/vassals"。
以下变量可用于自定义支持 uWSGI 的已安装软件包:
uwsgi_os_packages:支持 uWSGI 的系统软件包列表。默认值由uwsgi_default_os_packages[uwsgi_install][ansible_pkg_mgr]设置,当uwsgi_install == "pkg"时安装系统软件包,当uwsgi_install == "pip"时安装 Python 开发依赖。uwsgi_pip_packages:当uwsgi_install == "pip"时,支持 uWSGI 的 pip 软件包列表。默认值由uwsgi_default_pip_packages设置,评估为["uwsgi"]。uwsgi_pip_executable:用于安装软件包的 pip 的备用名称或路径,当uwsgi_install == "pip"且不安装到虚拟环境中时使用。默认值让pip模块决定使用哪个 pip 可执行文件。
以下变量可用于自定义服务配置,当 uWSGI 不是通过系统包管理器安装并通过 upstart 或 systemd 管理时:
uwsgi_user_group:运行 uWSGI 皇帝的用户/组信息。默认值由uwsgi_default_user_group[ansible_pkg_mgr]设置,在 EL 发行版上创建"uwsgi:uwsgi"系统用户和组,在 Ubuntu 发行版上创建"www-data:www-data"系统用户和组,和通过 uWSGI 系统包版本使用的一样。用户/组哈希可能包含name、comment、group、home、shell和system键,对应于 Ansibleuser模块的相应参数。uwsgi_service_name:uWSGI 服务的名称。默认值由uwsgi_default_service_names[ansible_pkg_mgr]设置,在 EL 发行版中评估为"uwsgi",在 Ubuntu 发行版中评估为"uwsgi-emperor"。uwsgi_bin:用于 upstart 或 systemd 配置的 uWSGI 二进制文件路径;如果未指定,将自动确定。uwsgi_opts:运行 uWSGI 时的命令行选项;默认使用 uWSGI 配置文件中指定的选项运行:"--die-on-term --ini {{uwsgi_conf_path|quote}}"。uwsgi_use_upstart:布尔值,指示是否使用 upstart 创建和管理 uWSGI 服务。默认未定义,仅在非 EL 7 发行版上 uWSGI 不是通过系统包管理器安装时启用。可以设置为false显式禁用使用 upstart 管理 uWSGI 服务。uwsgi_upstart_packages:支持通过 upstart 运行 uWSGI 的系统软件包列表。默认值由uwsgi_default_upstart_packages[ansible_pkg_mgr]设置,简单地安装upstart软件包。uwsgi_upstart_description:uWSGI upstart 服务的描述,默认为"uWSGI Server"。uwsgi_upstart_template:用于生成 upstart uWSGI 配置的本地模板;默认为"uwsgi-upstart.conf.j2"。uwsgi_upstart_path:安装 upstart uWSGI 配置的路径;默认为"/etc/init/{{_uwsgi_service_name}}.conf"。uwsgi_use_systemd:布尔值,指示是否使用 systemd 创建和管理 uWSGI 服务。默认未定义,仅在非 EL 7 发行版上 uWSGI 不是通过系统包管理器安装时启用。可以设置为false显式禁用使用 systemd 管理 uWSGI 服务。uwsgi_systemd_template:用于生成 systemd uWSGI 服务的本地模板;默认为"uwsgi.service.j2"。uwsgi_systemd_path:安装系统 uWSGI 服务器的路径;默认为"/etc/systemd/system/{{_uwsgi_service_name}}.service"。
示例剧本
以下示例剧本通过 pip 安装 uWSGI 并配置一个运行 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
许可证
BSD
作者信息
Chris Church (cchurch)
安装
ansible-galaxy install cchurch.uwsgi许可证
other
下载
4.9k
拥有者
Python/Django/Ansible, will code for sweet tea and beer.
