ginsys.nginx

nginx

この役割は https://github.com/bennojoy/nginx から派生したものです。パラメータを定義するための異なる「API」を実装しています。

この役割は nginx ウェブサーバをインストールおよび構成します。ユーザーは、サイトに適用したい任意の HTTP 構成パラメータを指定できます。任意の数のサイトを追加し、お好きな構成を設定できます。

要件

この役割には、Ansible 1.4 以上が必要で、プラットフォームの要件はメタデータファイルに記載されています。

役割変数

この役割に渡すことができる変数とその簡単な説明は以下の通りです。

# 許可される最大クライアント数
nginx_max_clients: 512

# HTTP パラメータのハッシュ。ここには有効な
# nginx HTTP パラメータを追加できます。
# (詳細は nginx ドキュメントを参照してください。)
nginx_http_params:
  sendfile: "on"
  tcp_nopush: "on"
  tcp_nodelay: "on"
  keepalive_timeout: "65"
  access_log: "/var/log/nginx/access.log"
  error_log: "/var/log/nginx/error.log"

# nginx のサーバを定義するハッシュのリスト。
# HTTP パラメータと同様に、有効なサーバパラメータを
# ここに定義できます。
nginx_sites:
 - server:
      file_name: foo
      listen: 8080
      server_name: localhost
      root: "/tmp/site1"
   location:
    - name: /
      try_files: "$uri $uri/ /index.html"
    - name: /images/
      try_files: "$uri $uri/ /index.html"
 - server:
      file_name: bar
      listen: 9090
      server_name: ansible
      root: "/tmp/site2"
   location:
    - name: /
      try_files: "$uri $uri/ /index.html"
    - name: /images/
      try_files: "$uri $uri/ /index.html"

  1. サイトが設定されていない状態で、選択した HTTP ディレクティブで nginx をインストールします。

    • hosts: all roles:
      • {role: nginx, nginx_http_params: { sendfile: "on", access_log: "/var/log/nginx/access.log"}, nginx_sites: none }
  2. 前の例とは異なる HTTP ディレクティブで nginx をインストールしますが、サイトは設定されていません。

    • hosts: all roles:
      • {role: nginx, nginx_http_params: { tcp_nodelay: "on", error_log: "/var/log/nginx/error.log"}, nginx_sites: none }

注意: 渡される HTTP ディレクティブが有効であることを確認してください。これはこの役割ではディレクティブの有効性をチェックしません。詳細については nginx ドキュメントを参照してください。

  1. nginx をインストールし、構成にサイトを追加します。

    • hosts: all

      roles:

      • role: nginx, nginx_http_params: sendfile: "on" access_log: "/var/log/nginx/access.log" nginx_sites:
        • server: file_name: bar listen: 8080 location:
          • name: "/" try_files: "$uri $uri/ /index.html"
          • name: /images/ try_files: "$uri $uri/ /index.html"

注意: 追加された各サイトはハッシュのリストで表現され、生成された構成は /etc/nginx/sites-available/ に記載され、その対応するシンボリックリンクが /etc/nginx/sites-enabled/ に作成されます。

特定のサイト構成のファイル名は、ハッシュのキー "file_name" で指定され、有効なサーバディレクティブをハッシュに追加することができます。ロケーションディレクティブを追加するには、"location" のキーの後にユニークな番号を追加し、ロケーションの値はハッシュです。有効なロケーションディレクティブであることを確認してください。

  1. Nginx をインストールして 2 つのサイトを追加(別の方法)


    • hosts: all roles:
      • role: nginx nginx_http_params: sendfile: "on" access_log: "/var/log/nginx/access.log" nginx_sites:
        • server: file_name: foo listen: 8080 server_name: localhost root: "/tmp/site1" location:
          • name: / try_files: "$uri $uri/ /index.html"
          • name: /images/ try_files: "$uri $uri/ /index.html"
        • server: file_name: bar listen: 9090 server_name: ansible root: "/tmp/site2" location:
          • name: / try_files: "$uri $uri/ /index.html"
          • name: /images/ try_files: "$uri $uri/ /index.html"

依存関係

なし

ライセンス

BSD

著者情報

元の役割の著者: Benno Joy
Ginsys フォークの著者: Serge van Ginderachter serge@vanginderachter.be

プロジェクトについて

This ansible role manages installation and configuration of nginx. It can both configure general options, as well as virtual hosts. This role is a fork of https://github.com/bennojoy/nginx and implements a different API for configuring locations within a

インストール
ansible-galaxy install ginsys.nginx
ライセンス
Unknown
ダウンロード
114
所有者
automate all things!