nginx
Nginx для роли Ansible на Debian/FreeBSD
Установите и настройте Nginx на Debian/FreeBSD.
Особенности:
- Поддержка SSL/TLS "усиленная"
- Управление базовой аутентификацией на сайте/папке
- Прокси + Upstream
- Быстрая настройка PHP
- Предустановленные шаблоны сайтов (должны работать на многих приложениях)
- Автонастройка HTTP2 на SSL/TLS сайтах
- Управление динамическими модулями (установка и загрузка)
- Развертывание пользовательских fact.d с конфигурацией сайтов
- Возможность слушать с протоколом прокси
- Генерация сертификатов с помощью acme.sh (let's encrypt) -- ЭКСПЕРИМЕНТАЛЬНО
Поддерживаемые ОС:
ОС | Работает | Стабильная (активная поддержка) |
---|---|---|
Debian Jessie (8) | Да | Проверьте последнюю поддерживаемую версию (1.5.0) |
Debian Stretch (9) | Да | Проверьте последнюю поддерживаемую версию (1.9.0) |
Debian Buster (10) | Да | Да |
Debian Bullseye (11) | Да | Да |
Debian Bookworm (12) | Да | Пока нет :) |
FreeBSD 11 | НД | Нет |
FreeBSD 12 | НД | Нет |
Ubuntu 20.04 | Да | Да |
Ubuntu 22.04 | Да | Да |
Требования
- Ansible >=2.11
- Если вы установите
nginx_backports
в true, вы должны установить репозиторий backports перед запуском этой роли.
Переменные роли
Упаковка
Debian:
nginx_apt_package
: APT пакет nginx (попробуйте: apt-cache search ^nginx)nginx_backports
: Установка nginx из репозитория backport (логическое значение)
FreeBSD:
nginx_pkgng_package
: PKGNG пакет nginx (должен быть "nginx" или "nginx-devel")
Общие
nginx_root
: корневая директория, где вы хотите хранить свои файлыnginx_log_dir
: директория логов (если вы измените ее, не забудьте изменить конфигурацию logrotate)nginx_resolver
: список DNS-резолверов (по умолчанию: OpenDNS)nginx_error_log_level
: уровень логирования по умолчаниюnginx_auto_config_httpv2
: логическое значение, автонастройка HTTP2, где это возможноnginx_fastcgi_fix_realpath
: логическое значение, использование realpath для fastcgi (исправление проблем с символьными ссылками и PHP opcache)nginx_default_hsts
: строка, заголовок по умолчанию для HSTS
Конфигурация Nginx
nginx_user
nginx_worker_processes
nginx_pid
: файл pid демонаnginx_events_*
: все переменные в блоке событийnginx_http_*
: все переменные в http блокеnginx_custom_core
: список инструкций (для core, будет помещено в/etc/nginx/nginx.conf
)nginx_custom_http
: список инструкций (будет помещено в/etc/nginx/conf.d/custom.conf
)nginx_module_packages
: список пакетов модулей для установки (Debian)nginx_load_modules
: список модулей для загрузки (полный путь), должно использоваться только на FreeBSD
Прочее
nginx_debug_role
: установите true, если вам нужно вывести результат задач no_log
О модулях
Недавние обновления из Debian backports загружают модули из директории /etc/nginx/modules-enabled. Отключение/включение больше не поддерживается. Пожалуйста, ждите дальнейших обновлений.
Точная настройка
Примечание
- Активная поддержка для Debian/Ubuntu.
- Поддержка FreeBSD является экспериментальной. Я тестирую только 10.2 (но это может работать и на других версиях).
Зависимости
Смотрите: requirements.yml.
Если вам нужно разрабатывать эту роль локально на Vagrant
Перед использованием vagrant выполните один раз:
ansible-galaxy install -p ./tests/ HanXHX.php,master
Если вам нужно разрабатывать эту роль локально с помощью molecule
Проверьте доступные сценарии в директории molecule.
С сценарием debian-12
:
molecule -v -c molecule/_shared/base.yml verify -s debian-12
Пример Playbook
Смотрите tests/test.yml.
Лицензия
GPLv2
Донаты
Если этот код помог вам или если вы использовали его для своих проектов, не стесняйтесь угостить меня: пивом
- Bitcoin:
1BQwhBeszzWbUTyK4aUyq3SRg7rBSHcEQn
- Ethereum:
63abe6b2648fd892816d87a31e3d9d4365a737b5
- Litecoin:
LeNDw34zQLX84VvhCGADNvHMEgb5QyFXyD
- Monero:
45wbf7VdQAZS5EWUrPhen7Wo4hy7Pa7c7ZBdaWQSRowtd3CZ5vpVw5nTPphTuqVQrnYZC72FXDYyfP31uJmfSQ6qRXFy3bQ
Нет криптовалют? :star: проект также является способом сказать спасибо! :sunglasses:
Информация об авторе
- Twitter: @hanxhx_
Установить
ansible-galaxy install HanXHX/ansible-nginx
Лицензия
gpl-2.0
Загрузки
6043
Владелец
CEO/CTO/SRE triplestack.fr / daemonit.com