nginx-container
#nginx-container
Добавляет сервис nginx в ваш проект Ansible Container. Выполните следующие команды, чтобы установить сервис:
# Установите рабочую директорию на корень вашего проекта Ansible Container
$ cd myproject
# Установите сервис
$ ansible-container install ansible.nginx-container
Требования
- Ansible Container
- Существующий проект Ansible Container. Чтобы создать проект, просто выполните следующее:
# Создайте пустую директорию проекта $ mkdir myproject # Установите рабочую директорию на новый каталог $ cd myproject # Инициализируйте проект $ ansible-container init
Переменные роли
STATIC_ROOT: /static
Путь к статическому контенту, который будет обслуживаться nginx.
STATIC_LOCATION: {{ STATIC_ROOT }}/
Запросы, совпадающие с этим шаблоном, будут ссылаться на каталог {{ STATIC_ROOT }}. Обычно это "/static/" или "/assets/".
PIDFILE_DIR: /run/nginx
Путь, по которому nginx будет хранить текущее значение PID.
ASSET_PATHS: []
Список путей, из которых будет скопирован статический контент. Содержимое будет скопировано в {{ STATIC_ROOT }}.
ПРИМЕЧАНИЕ пути должны быть действительными внутри контейнера сборки Ansible. Если вы копируете исходные файлы, примонтируйте исходную директорию в контейнер сборки с помощью --with-volumes.
PROXY: no
При использовании этой роли в приложении-демонстрации, nginx должен проксировать сервис django, в этом случае установите это значение на 'yes'.
PROXY_PASS: ""
Адрес бекенда, принимающего проксированные запросы. Например:
http://django:8080
PROXY_LOCATION: ""
Строка, содержащая не обязательный модификатор и шаблон совпадения. Запросы, содержащие совпадающий шаблон, перенаправляются на адрес PROXY_PASS. Например,
~* /(api|static)
будет перенаправлять запросы, которые начинаются с/api
или/static
.
PROXY_CONNECT_TIMEOUT: 60
Установите
proxy_connect_timeout
на это значение в секундах. По документации NGINX, не может превышать 75 секунд.
PROXY_SEND_TIMEOUT: 60
Установите
proxy_send_timeout
на это значение в секундах.
PROXY_READ_TIMEOUT: 60
Установите
proxy_read_timeout
на это значение в секундах.
Дополнительно
EXTRA_CONFIG
Список абсолютных путей к дополнительным шаблонам конфигурации NGINX, которые будут помещены в
/etc/nginx/conf.d
Имена файлов должны заканчиваться на.conf.j2
, но указывайте этот список просто с.conf
!
Зависимости
Нет.
Участие
Для удобства, во время работы над изменениями в этой роли, вы можете протестировать, используя следующий алгоритм:
# Зафиксируйте ваши изменения
$ git commit -m
# Отправьте ваши изменения
$ git push
# Установите рабочую директорию на тесты
$ cd tests
# Запустите сборку, которая устанавливает роль на основании последнего коммита
$ ./build.sh
Несколько примечаний:
- Вам нужно
git push
ваши изменения, чтобы сборка их обнаружила. - Измените build.sh, чтобы он указывал на вашу форкнутую версию этой роли.
- Если все пройдет хорошо, и сборка будет успешной, контейнер, построенный из вашего последнего коммита, будет работать в фоновом режиме.
- Запущенный контейнер будет публиковать порт 8000:8000, поэтому если вы откроете браузер и перейдете по адресу http://localhost:8000, вы должны увидеть стандартную страницу nginx.
Лицензия
Apache v2
Информация об авторе
Смотрите AUTHORS для списка участников. Спасибо всем!
ansible-galaxy install marcusianlevine/nginx-container