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によって所有され、そのユーザーとして実行されます。デフォルトはtrueuwsgi_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"のシステムユーザーおよびグループが作成されます。ユーザー/グループのハッシュには、namecommentgrouphomeshellsystemキーが含まれ、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)

プロジェクトについて

Install uWSGI in emperor mode and configure vassals.

インストール
ansible-galaxy install cchurch.uwsgi
ライセンス
other
ダウンロード
4.8k
所有者
Python/Django/Ansible, will code for sweet tea and beer.