nekeal.nginx

Ansible Role: Nginx

CI

注意: NGINX, Inc. の公式 NGINX Ansible role の利用を検討してください。

RedHat/CentOS、Debian/Ubuntu、Arch Linux、FreeBSD、および OpenBSD サーバーに Nginx をインストールします。

このロールは Nginx yum リポジトリ(RedHatベースのシステム)、apt(Debianベースのシステム)、pacman(Arch Linux)、pkgng(FreeBSD)、または pkg_add(OpenBSD)から最新の Nginx をインストールし、設定します。このロールで Nginx をインストールした後は、特定のウェブサイト用の設定を定義するために、自分自身の [virtualhost].conf ファイルを /etc/nginx/conf.d/ 内に追加する必要があります。

要件

特になし。

ロール変数

以下に利用可能な変数とデフォルト値を示します(defaults/main.yml を参照):

  • nginx_listen_ipv6: true

    • IPv6のリッスン設定(このロールによって管理されるすべてのvhostに適用されます)。
  • nginx_selfsigned_certificate_directory: /etc/nginx/ssl

  • nginx_selfsigned_certificate_privkey: "{{ nginx_selfsigned_certificate_directory }}/privkey.pem"

  • nginx_selfsigned_certificate_fullchain: "{{ nginx_selfsigned_certificate_directory }}/fullchain.pem"

  • nginx_selfsigned_certificate_csr: "{{ nginx_selfsigned_certificate_directory }}/cert.csr"

自己署名証明書を作成する場所を定義する変数です。この証明書は catchall-vhost で使用され、nginx-vhost 設定の不足している証明書の代わりとしても使用されます。

  • nginx_copy_missing_certs: yes

    • vhost に対して自己署名証明書をコピーするかどうかを定義します。
  • nginx_vhosts: []

    • Nginx のバーチャルホスト用の vhost 定義(サーバーブロック)のリストです。各エントリは、name で指定された別の設定ファイルを作成します。空のままにすると、自分のコア設定が必要です。

以下は vhost の例です:

nginx_vhosts:
  - name: localhost-django
    server_names:
      - "localhost"
    upstreams:
      - name: local
        server: localhost:8000
    template: django-vhost.j2
    enable_https: true
    static_root: /var/www/static/
    media_root: /var/www/media/

この例では、指定されたパスに証明書が存在しない場合、自己署名証明書のディレクトリからコピーされます。これにより Nginx は正常に起動しますが、有効な証明書を提供することが推奨されます。

  • nginx_remove_default_vhost: false

    • Nginx に提供される 'default' バーチャルホスト設定を削除するかどうかを決定します。
  • nginx_user: "nginx"

    • Nginx が動作するユーザー。RedHat では nginx、Debian では www-data、FreeBSD および OpenBSD では www がデフォルトです。
  • nginx_worker_processes: "{{ ansible_processor_vcpus|default(ansible_processor_count) }}"

    • 使用するコア数に基づく労働者プロセスの設定。
  • nginx_error_log: "/var/log/nginx/error.log warn"

  • nginx_access_log: "/var/log/nginx/access.log main buffer=16k"

    • デフォルトのエラーログとアクセスログの設定です。
  • nginx_client_max_body_size: "64m"

    • アップロード可能な最大ファイルサイズを決定します。

設定テンプレートのオーバーライド

もし変数でカスタマイズできない場合、バーチャルホスト設定ファイルや nginx.conf ファイルを生成するために使用されるテンプレートをオーバーライドできます。

nginx_conf_template: "nginx.conf.j2"
nginx_catchall_template: "default-catchall.j2"
nginx_vhost_template: "vhost.j2"

例: Nginx 設定で gzip を設定

nginx_conf_template を指定のテンプレートファイルに設定してください。

nginx_conf_template: "{{ playbook_dir }}/templates/nginx.conf.j2"

依存関係

なし。

例 Playbook

- hosts: server
  roles:
    - { role: nekeal.nginx }

ライセンス

MIT / BSD

著者情報

このロールは 2014 年に Jeff Geerling によって作成されました。

プロジェクトについて

Nginx installation for Linux, FreeBSD and OpenBSD.

インストール
ansible-galaxy install nekeal.nginx
ライセンス
mit
ダウンロード
114
所有者