ginsys.nginx
nginx
Este rol es un fork de https://github.com/bennojoy/nginx. Implementa una 'API' diferente sobre cómo definir parámetros.
Este rol instala y configura el servidor web nginx. El usuario puede especificar cualquier parámetro de configuración http que desee aplicar a su sitio. Se pueden agregar cualquier número de sitios con las configuraciones que elija.
Requisitos
Este rol requiere Ansible 1.4 o superior y los requisitos de la plataforma están listados en el archivo de metadata.
Variables del Rol
Las variables que se pueden pasar a este rol y una breve descripción de ellas son las siguientes.
# El número máximo de clientes permitidos
nginx_max_clients: 512
# Un hash de los parámetros http. Tenga en cuenta que
# se pueden agregar aquí cualquier parámetro http válido de nginx.
# (consulte la documentación de nginx para detalles.)
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"
# Una lista de hashes que definen los servidores para nginx,
# al igual que los parámetros http. Se pueden definir aquí
# cualquier parámetro de servidor válido.
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"
Ejemplos
Instalar nginx con directivas HTTP de elección, pero sin sitios configurados:
- hosts: all
roles:
- {role: nginx, nginx_http_params: { sendfile: "on", access_log: "/var/log/nginx/access.log"}, nginx_sites: none }
- hosts: all
roles:
Instalar nginx con diferentes directivas HTTP que el ejemplo anterior, pero sin sitios configurados.
- hosts: all
roles:
- {role: nginx, nginx_http_params: { tcp_nodelay: "on", error_log: "/var/log/nginx/error.log"}, nginx_sites: none }
- hosts: all
roles:
Nota: Asegúrese de que las directivas HTTP pasadas sean válidas, ya que este rol no comprobará la validez de las directivas. Consulte la documentación de nginx para más detalles.
Instalar nginx y agregar un sitio a la configuración.
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:
Nota: Cada sitio agregado se representa por una lista de hashes, y las configuraciones generadas se almacenan en /etc/nginx/sites-available/
y tienen enlaces simbólicos correspondientes desde /etc/nginx/sites-enabled/
.
El nombre del archivo para la configuración específica del sitio se especifica en el hash con la clave "file_name"; se pueden agregar cualquier directiva de servidor válida al hash. Para la directiva de ubicación, agregue la clave "location" seguida de un número único; el valor para la ubicación es un hash, asegúrese de que sean directivas de ubicación válidas.
Instalar Nginx y agregar 2 sitios (método diferente)
- 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:
Dependencias
Ninguna
Licencia
BSD
Información del Autor
Autor original del rol: Benno Joy
Autor del 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