nginx

nginx

Эта роль — это форк с https://github.com/bennojoy/nginx. Она реализует другой способ определения параметров.

Эта роль устанавливает и настраивает веб-сервер nginx. Пользователь может указать любые параметры конфигурации http, которые он хочет применять к своему сайту. Можно добавить любое количество сайтов с конфигурациями на ваш выбор.

Требования

Эта роль требует Ansible версии 1.4 или выше, платформенные требования указаны в файле метаданных.

Переменные Роли

Переменные, которые можно передать этой роли, и их краткое описание:

# Максимальное количество клиентов
nginx_max_clients: 512

# Хэш параметров http. Обратите внимание, что любые
# действительные параметры http для nginx можно добавить здесь.
# (см. документацию nginx для подробностей.)
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"

# Список хэшей, которые определяют серверы для nginx,
# так же как и параметры http. Здесь можно указать любые
# действительные параметры сервера.
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"

Примеры

  1. Установить nginx с выбранными HTTP директивами, но без настроенных сайтов:

    • hosts: all roles:
      • {role: nginx, nginx_http_params: { sendfile: "on", access_log: "/var/log/nginx/access.log"}, nginx_sites: none }
  2. Установить nginx с другими HTTP директивами, чем в предыдущем примере, но без настроенных сайтов:

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

Примечание: Убедитесь, что переданные HTTP директивы действительны, так как эта роль не проверяет их корректность. См. документацию nginx для подробностей.

  1. Установить nginx и добавить сайт в конфигурацию:

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

Примечание: Каждый добавленный сайт представлен списком хэшей, а сгенерированные конфигурации помещаются в /etc/nginx/sites-available/ и имеют соответствующие символические ссылки из /etc/nginx/sites-enabled/.

Имя файла для конкретной конфигурации сайта указывается в хэше с ключом "file_name", любые действительные директивы сервера можно добавить в хэш. Для директивы location добавьте ключ "location" с уникальным номером, значение для location — хэш, убедитесь, что они действительны.

  1. Установить Nginx и добавить 2 сайта (другой метод):


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

Зависимости

Нет

Лицензия

BSD

Информация об авторе

Автор оригинальной роли: Бенно Джой Автор форка от Ginsys: Сергей ван Гиндер Achter 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/ansible-role-nginx
Лицензия
Unknown
Загрузки
100
Владелец
automate all things!