ginsys.nginx

nginx

Diese Rolle ist ein Abzweig von https://github.com/bennojoy/nginx. Sie implementiert eine andere 'API', um Parameter zu definieren.

Diese Rolle installiert und konfiguriert den nginx-Webserver. Der Benutzer kann beliebige HTTP-Konfigurationsparameter angeben, die für seine Seite gelten sollen. Es können beliebig viele Seiten mit Konfigurationen hinzugefügt werden.

Anforderungen

Diese Rolle benötigt Ansible 1.4 oder höher, und die Plattformanforderungen sind in der Metadaten-Datei aufgeführt.

Rollenvariablen

Die Variablen, die an diese Rolle übergeben werden können, sowie eine kurze Beschreibung sind wie folgt.

# Die maximal erlaubten Clients
nginx_max_clients: 512

# Eine Hashmap der HTTP-Parameter. Beachten Sie, dass hier
# beliebige gültige nginx HTTP-Parameter hinzugefügt werden können.
# (siehe die nginx-Dokumentation für Details.)
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"

# Eine Liste von Hashmaps, die die Server für nginx definieren,
# ähnlich wie bei den HTTP-Parametern. Hier können beliebige gültige Serverparameter
# definiert werden.
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"

Beispiele

  1. Installieren Sie nginx mit den gewählten HTTP-Direktiven, aber ohne konfigurierte Seiten:

    • hosts: all roles:
      • {role: nginx, nginx_http_params: { sendfile: "on", access_log: "/var/log/nginx/access.log"}, nginx_sites: none }
  2. Installieren Sie nginx mit anderen HTTP-Direktiven als im vorherigen Beispiel, aber ohne konfigurierte Seiten.

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

Hinweis: Bitte stellen Sie sicher, dass die übergebenen HTTP-Direktiven gültig sind, da diese Rolle die Gültigkeit der Direktiven nicht überprüft. Siehe die nginx-Dokumentation für Details.

  1. Installieren Sie nginx und fügen Sie eine Seite zur Konfiguration hinzu.

    • 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"

Hinweis: Jede hinzugefügte Seite wird durch eine Liste von Hashes dargestellt, und die generierten Konfigurationen werden in /etc/nginx/sites-available/ populiert und haben entsprechende Symlinks von /etc/nginx/sites-enabled/.

Der Dateiname für die spezifische Seitenkonfiguration wird im Hash mit dem Schlüssel "file_name" angegeben, beliebige gültige Serveranweisungen können zu diesem Hash hinzugefügt werden. Für die Standortdirektive fügen Sie den Schlüssel "location" hinzu, der mit einer einzigartigen Nummer endet, der Wert für den Standort ist ein Hash. Bitte stellen Sie sicher, dass diese gültige Standortdirektiven sind.

  1. Installieren Sie nginx und fügen Sie 2 Seiten (andere Methode) hinzu.


    • 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"

Abhängigkeiten

Keine

Lizenz

BSD

Autoreninformationen

Ursprünglicher Rollenautor: Benno Joy
Ginsys Fork Autor: Serge van Ginderachter serge@vanginderachter.be

Über das Projekt

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

Installieren
ansible-galaxy install ginsys.nginx
GitHub Repository
Lizenz
Unknown
Downloads
114
Besitzer
automate all things!