ginsys.nginx
nginx
Ce rôle est un dérivé de https://github.com/bennojoy/nginx. Il met en œuvre une 'API' différente pour définir les paramètres.
Ce rôle installe et configure le serveur web nginx. L'utilisateur peut spécifier tous les paramètres de configuration http qu'il souhaite appliquer à son site. Un nombre illimité de sites peut être ajouté avec les configurations de votre choix.
Exigences
Ce rôle nécessite Ansible 1.4 ou version supérieure et les exigences de la plateforme sont énumérées dans le fichier de métadonnées.
Variables de rôle
Les variables qui peuvent être transmises à ce rôle et une brève description à leur sujet sont les suivantes.
# Le nombre maximum de clients autorisés
nginx_max_clients: 512
# Un ensemble de paramètres http. Notez que tout
# paramètre http nginx valide peut être ajouté ici.
# (voir la documentation nginx pour plus de détails.)
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"
# Une liste d'ensembles qui définissent les serveurs pour nginx,
# tout comme avec les paramètres http. Tout paramètre de serveur valide
# peut être défini ici.
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"
Exemples
- Installer nginx avec des directives HTTP de votre choix, mais sans sites configurés : - hosts: all
roles:- {role: nginx, nginx_http_params: { sendfile: "on", access_log: "/var/log/nginx/access.log"}, nginx_sites: none }
 
 
- hosts: all
roles:
- Installer nginx avec des directives HTTP différentes de l'exemple précédent, mais sans sites configurés. - hosts: all
roles:- {role: nginx, nginx_http_params: { tcp_nodelay: "on", error_log: "/var/log/nginx/error.log"}, nginx_sites: none }
 
 
- hosts: all
roles:
Remarque : Veuillez vous assurer que les directives HTTP passées sont valides, car ce rôle ne vérifiera pas la validité des directives. Voir la documentation nginx pour plus de détails.
- Installer nginx et ajouter un site à la configuration. - 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:
 
Remarque : Chaque site ajouté est représenté par une liste d'ensembles, et les 
configurations générées sont remplies dans /etc/nginx/sites-available/ et ont 
des liens symboliques correspondants dans /etc/nginx/sites-enabled/.
Le nom du fichier pour la configuration spécifique du site est spécifié dans l'ensemble avec la clé "file_name", tout paramètre de serveur valide peut être ajouté à l'ensemble. Pour la directive de localisation, ajoutez la clé "location" suivie d'un numéro unique, la valeur pour la localisation est un ensemble, veuillez vous assurer que ce sont des directives de localisation valides.
- Installer Nginx et ajouter 2 sites (méthode différente) 
 - 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:
Dépendances
Aucune
Licence
BSD
Informations sur l'auteur
Auteur original du rôle : Benno Joy Auteur du fork de 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