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
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 }
- hosts: all
roles:
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 }
- hosts: all
roles:
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.
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"
- server:
file_name: bar
listen: 8080
location:
- role: nginx,
nginx_http_params:
sendfile: "on"
access_log: "/var/log/nginx/access.log"
nginx_sites:
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.
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"
- server:
file_name: foo
listen: 8080
server_name: localhost
root: "/tmp/site1"
location:
- role: nginx
nginx_http_params:
sendfile: "on"
access_log: "/var/log/nginx/access.log"
nginx_sites:
- hosts: all
roles:
Abhängigkeiten
Keine
Lizenz
BSD
Autoreninformationen
Ursprünglicher Rollenautor: Benno Joy
Ginsys Fork Autor: 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