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.8k
拥有者
Python/Django/Ansible, will code for sweet tea and beer.