cchurch.uwsgi
uWSGI
uWSGIをエンペラーモードでインストールし、バッサルを設定します。Ansible 2.4以上が必要です。
役割変数
注意: 一部の変数名は0.2.xバージョン以降変更されています!
この役割をカスタマイズするために一般的に定義される変数は以下の通りです:
uwsgi_install
: uWSGIをインストールする方法;"pkg"
(デフォルト)でシステムパッケージマネージャを使用するか、"pip"
でpパッケージ管理ツールを使用してインストールします。他の値は、uWSGIが別の手段でインストールされていることを前提とします。uwsgi_version
:uwsgi_install == "pip"
のときにインストールするuWSGIのバージョンを指定します。デフォルトでは最新のバージョンがインストールされます。uwsgi_virtualenv
:uwsgi_install == "pip"
のとき、指定された仮想環境パスにuWSGIをインストールします。uwsgi_vassals
: 指定されたバッサルのためのINI構成ファイルを作成します。各ハッシュには、ファイル名を指定するためのname
キーが必要です。すべてのキーと値は[uwsgi]
セクションに書き込まれます。デフォルトは[]
です。uwsgi_vassals_to_remove
: 削除するバッサルの名前のリスト; デフォルトは[]
です。
以下の変数は、uWSGIエンペラーに使用する設定やパスをカスタマイズするために使用できます:
uwsgi_emperor_tyrant
: エンペラーをティラントモードで実行します。各バッサル構成ファイルは、バッサルオプションで指定されたuid/gidによって所有され、そのユーザーとして実行されます。デフォルトはtrue
(uwsgi_install == "pip"
のとき)、それ以外は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
:uwsgi_install == "pip"
の場合にパッケージをインストールするために使用する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"
のシステムユーザーおよびグループが作成されます。ユーザー/グループのハッシュには、name
、comment
、group
、home
、shell
、system
キーが含まれ、Ansibleのuser
モジュールの対応するパラメータに関連しています。uwsgi_service_name
: uWSGIサービスの名前。デフォルトはuwsgi_default_service_names[ansible_pkg_mgr]
から設定され、EL配布では"uwsgi"
、Ubuntu配布では"uwsgi-emperor"
に評価されます。uwsgi_bin
: upstartまたはsystemd設定で使用するuWSGIバイナリへのパス; 指定されていない場合は自動的に決定されます。uwsgi_opts
: upstartまたはsystemdを介してuWSGIを実行する際に使用されるコマンドラインオプション; デフォルトはuWSGI設定ファイルで指定されたオプションを使用して実行されます:"--die-on-term --ini {{uwsgi_conf_path|quote}}"
。uwsgi_use_upstart
: uWSGIサービスの作成と管理にupstartを使用するかどうかを示す真偽値。デフォルトでは未定義で、EL 7以外の配布でシステムパッケージマネージャを介してインストールされていない場合にのみ有効になります。upstartを使用してuWSGIサービスを管理するために明示的にfalse
に設定できます。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
: uWSGIサービスの作成と管理にsystemdを使用するかどうかを示す真偽値。デフォルトでは未定義で、EL 7配布でシステムパッケージマネージャを介してインストールされていない場合にのみ有効になります。systemdを使用してuWSGIサービスを管理するために明示的にfalse
に設定できます。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
著者情報
クリス・チャーチ (cchurch)
インストール
ansible-galaxy install cchurch.uwsgi
ライセンス
other
ダウンロード
4.8k
所有者
Python/Django/Ansible, will code for sweet tea and beer.