HanXHX.nginx
Nginx für Debian/FreeBSD Ansible-Rolle
Installieren und Konfigurieren von Nginx auf Debian/FreeBSD.
Funktionen:
- SSL/TLS "gehärtete" Unterstützung
- Verwalten der Basisauthentifizierung auf der Seite / im Standort
- Proxy + Upstream
- Schnelle PHP-Konfiguration
- Vorgefertigte Site-Vorlagen (sollte bei vielen Apps funktionieren)
- Automatische Konfiguration von HTTP2 auf SSL/TLS-Seiten
- Verwalten dynamischer Module (Installation und Laden)
- Bereitstellung von benutzerdefinierten Fakten.d mit Site-Konfiguration
- Kann mit dem Proxy-Protokoll hören
- Zertifikate mit acme.sh (Let's Encrypt) generieren -- EXPERIMENTELL
Unterstützte Betriebssysteme:
Betriebssystem | Funktionierend | Stabil (aktive Unterstützung) |
---|---|---|
Debian Jessie (8) | Ja | Überprüfen Sie die neueste unterstützte Version (1.5.0) |
Debian Stretch (9) | Ja | Überprüfen Sie die neueste unterstützte Version (1.9.0) |
Debian Buster (10) | Ja | Ja |
Debian Bullseye (11) | Ja | Ja |
Debian Bookworm (12) | Ja | Noch nicht :) |
FreeBSD 11 | NEIN | Nein |
FreeBSD 12 | NEIN | Nein |
Ubuntu 20.04 | Ja | Ja |
Ubuntu 22.04 | Ja | Ja |
Anforderungen
- Ansible >=2.11
- Wenn Sie
nginx_backports
auf true setzen, müssen Sie das Backports-Repository installieren, bevor Sie diese Rolle ausführen.
Rollenvariablen
Verpackung
Debian:
nginx_apt_package
: APT Nginx-Paket (versuchen: apt-cache search ^nginx)nginx_backports
: Nginx aus dem Backport-Repository installieren (boolescher Wert)
FreeBSD:
nginx_pkgng_package
: PKGNG Nginx-Paket (sollte "nginx" oder "nginx-devel" sein)
Gemeinsame
nginx_root
: Stammverzeichnis, in dem Sie Ihre Dateien haben möchtennginx_log_dir
: Log-Verzeichnis (wenn Sie es ändern, vergessen Sie nicht, die logrotate-Konfiguration zu ändern)nginx_resolver
: Liste der DNS-Resolver (Standard: OpenDNS)nginx_error_log_level
: Standardprotokollebenenginx_auto_config_httpv2
: boolescher Wert, automatische Konfiguration von HTTP2 wo möglichnginx_fastcgi_fix_realpath
: boolescher Wert, Verwendung von realpath für fastcgi (Behebung von Problemen mit Symlinks und PHP-OpCache)nginx_default_hsts
: Zeichenfolge, standardmäßiger Header für HSTS
Nginx-Konfiguration
nginx_user
nginx_worker_processes
nginx_pid
: Daemon-PID-Dateinginx_events_*
: alle Variablen im Ereignisblocknginx_http_*
: alle Variablen im HTTP-Blocknginx_custom_core
: Anweisungenliste (für den Kern, wird Daten in/etc/nginx/nginx.conf
speichern)nginx_custom_http
: Anweisungenliste (wird Daten in/etc/nginx/conf.d/custom.conf
speichern)nginx_module_packages
: Liste der zu installierenden Modulpakete (Debian)nginx_load_modules
: Liste der zu ladenden Module (voller Pfad), sollte nur auf FreeBSD verwendet werden
Sonstiges
nginx_debug_role
: auf true setzen, wenn Sie die Ausgabe von no_log-Aufgaben sehen möchten
Über Module
Die letzten Updates von Debian-Backports laden Module aus dem Verzeichnis /etc/nginx/modules-enabled. Deaktivieren/Aktivieren wird nicht mehr unterstützt. Bitte warten Sie auf weitere Updates.
Feine Konfiguration
Hinweis
- Aktive Unterstützung für Debian/Ubuntu.
- FreeBSD-Unterstützung ist experimentell. Ich teste (im Moment) nur 10.2 (aber es kann auch auf anderen Versionen funktionieren).
Abhängigkeiten
Siehe: requirements.yml.
Wenn Sie diese Rolle lokal mit Vagrant entwickeln möchten
Führen Sie vor der Verwendung von Vagrant einmal aus:
ansible-galaxy install -p ./tests/ HanXHX.php,master
Wenn Sie diese Rolle lokal mit Molecule entwickeln möchten
Überprüfen Sie die verfügbaren Szenarien im molecule Verzeichnis.
Mit dem Szenario debian-12
:
molecule -v -c molecule/_shared/base.yml verify -s debian-12
Beispiel-Playbook
Siehe tests/test.yml.
Lizenz
GPLv2
Spende
Wenn Ihnen dieser Code geholfen hat oder wenn Sie ihn für Ihre Projekte verwendet haben, können Sie mir gerne ein paar :beers: kaufen.
- Bitcoin:
1BQwhBeszzWbUTyK4aUyq3SRg7rBSHcEQn
- Ethereum:
63abe6b2648fd892816d87a31e3d9d4365a737b5
- Litecoin:
LeNDw34zQLX84VvhCGADNvHMEgb5QyFXyD
- Monero:
45wbf7VdQAZS5EWUrPhen7Wo4hy7Pa7c7ZBdaWQSRowtd3CZ5vpVw5nTPphTuqVQrnYZC72FXDYyfP31uJmfSQ6qRXFy3bQ
Keine Kryptowährung? :star: Das Projekt ist auch eine Möglichkeit, Danke zu sagen! :sunglasses:
Autoreninformationen
- Twitter: @hanxhx_