HanXHX.nginx
Nginx dla roli Ansible na Debianie/FreeBSD
Zainstaluj i skonfiguruj Nginx na Debianie/FreeBSD.
Cechy:
- Wsparcie dla zabezpieczeń SSL/TLS
- Zarządzanie podstawową autoryzacją na stronie/lokalizacji
- Proxy + Upstream
- Szybka konfiguracja PHP
- Wstępnie skonfigurowane szablony stron (powinny działać dla wielu aplikacji)
- Automatyczna konfiguracja HTTP2 na stronach SSL/TLS
- Zarządzanie dynamicznymi modułami (instalacja i ładowanie)
- Wdrażanie własnych faktów d z konfiguracją stron
- Może korzystać z protokołu proxy
- Generowanie certyfikatów za pomocą acme.sh (let's encrypt) -- EKSPERYMENTALNE
Obsługiwane systemy operacyjne:
System Operacyjny | Działa | Stabilny (aktywne wsparcie) |
---|---|---|
Debian Jessie (8) | Tak | Sprawdź najnowszą obsługiwaną wersję (1.5.0) |
Debian Stretch (9) | Tak | Sprawdź najnowszą obsługiwaną wersję (1.9.0) |
Debian Buster (10) | Tak | Tak |
Debian Bullseye (11) | Tak | Tak |
Debian Bookworm (12) | Tak | Jeszcze nie :) |
FreeBSD 11 | NA | Nie |
FreeBSD 12 | NA | Nie |
Ubuntu 20.04 | Tak | Tak |
Ubuntu 22.04 | Tak | Tak |
Wymagania
- Ansible >=2.11
- Jeśli ustawisz
nginx_backports
na true, musisz zainstalować repozytorium backports przed uruchomieniem tej roli.
Zmienne roli
Pakowanie
Debian:
nginx_apt_package
: Pakiet APT nginx (spróbuj: apt-cache search ^nginx)nginx_backports
: Zainstaluj nginx z repozytorium backport (bool)
FreeBSD:
nginx_pkgng_package
: Pakiet PKGNG nginx (powinno być "nginx" lub "nginx-devel")
Wspólne
nginx_root
: główny katalog, w którym chcesz mieć swoje plikinginx_log_dir
: katalog logów (jeśli go zmienisz, nie zapomnij zmienić konfiguracji logrotate)nginx_resolver
: lista resolverów DNS (domyślnie: OpenDNS)nginx_error_log_level
: domyślny poziom logowanianginx_auto_config_httpv2
: boolean, automatyczna konfiguracja HTTP2 gdzie to możliwenginx_fastcgi_fix_realpath
: boolean, użycie realpath dla fastcgi (naprawia problemy z symlinkami i PHP opcache)nginx_default_hsts
: ciąg, domyślny nagłówek wysyłany dla HSTS
Konfiguracja Nginx
nginx_user
nginx_worker_processes
nginx_pid
: plik pid dla demonanginx_events_*
: wszystkie zmienne w bloku eventsnginx_http_*
: wszystkie zmienne w bloku httpnginx_custom_core
: lista instrukcji (dla rdzenia, umieści dane w/etc/nginx/nginx.conf
)nginx_custom_http
: lista instrukcji (umieści dane w/etc/nginx/conf.d/custom.conf
)nginx_module_packages
: lista pakietów modułów do zainstalowania (Debian)nginx_load_modules
: lista modułów do załadowania (pełna ścieżka), powinna być używana tylko na FreeBSD
Różne
nginx_debug_role
: ustaw true, jeśli potrzebujesz zobaczyć wyniki zadań no_log
O modułach
Ostatnie aktualizacje z backportów Debiana ładują moduły z katalogu /etc/nginx/modules-enabled. Wyłączenie/włączenie nie jest już obsługiwane. Proszę czekać na dalsze aktualizacje.
Doskonała konfiguracja
Uwaga
- Aktywne wsparcie dla Debiana/Ubuntu.
- Wsparcie FreeBSD jest experimentalne. Na razie testuję 10.2 (ale może działać na innych wersjach).
Zależności
Zobacz: requirements.yml.
Jeśli potrzebujesz rozwijać tę rolę lokalnie w Vagrant
Przed użyciem vagranta, uruchom raz:
ansible-galaxy install -p ./tests/ HanXHX.php,master
Jeśli potrzebujesz rozwijać tę rolę lokalnie z użyciem molecule
Sprawdź dostępne scenariusze w katalogu molecule.
Ze scenariuszem debian-12
:
molecule -v -c molecule/_shared/base.yml verify -s debian-12
Przykład Playbooka
Zobacz tests/test.yml.
Licencja
GPLv2
Darowizna
Jeśli ten kod Ci pomógł, lub jeśli go używałeś w swoich projektach, możesz poczęstować mnie piwem :beers:
- Bitcoin:
1BQwhBeszzWbUTyK4aUyq3SRg7rBSHcEQn
- Ethereum:
63abe6b2648fd892816d87a31e3d9d4365a737b5
- Litecoin:
LeNDw34zQLX84VvhCGADNvHMEgb5QyFXyD
- Monero:
45wbf7VdQAZS5EWUrPhen7Wo4hy7Pa7c7ZBdaWQSRowtd3CZ5vpVw5nTPphTuqVQrnYZC72FXDYyfP31uJmfSQ6qRXFy3bQ
Nie masz kryptowaluty? :star: projekt również jest sposobem na powiedzenie dziękuję! :sunglasses:
Informacje o autorze
- Twitter: @hanxhx_