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

  1. 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 }
  2. 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 }

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.

  1. 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"

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.

  1. 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"

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

À propos du projet

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

Installer
ansible-galaxy install ginsys.nginx
Licence
Unknown
Téléchargements
114
Propriétaire
automate all things!