HanXHX.nginx
Nginx para el rol de Ansible en Debian/FreeBSD
Instala y configura Nginx en Debian/FreeBSD.
Características:
- Soporte de SSL/TLS "endurecido"
- Gestiona autenticación básica en sitios / ubicaciones
- Proxy + Upstream
- Configuración rápida de PHP
- Plantillas de sitios preconfiguradas (deberían funcionar en muchas aplicaciones)
- Configura automáticamente HTTP2 en sitios SSL/TLS
- Gestiona módulos dinámicos (instalación y carga)
- Despliega configuraciones personalizadas de facts.d
- Puede escuchar con protocolo de proxy
- Genera certificados con acme.sh (let's encrypt) -- EXPERIMENTAL
Sistemas Operativos Soportados:
| SO | Funciona | Estable (soporte activo) |
|---|---|---|
| Debian Jessie (8) | Sí | Ver última versión soportada (1.5.0) |
| Debian Stretch (9) | Sí | Ver última versión soportada (1.9.0) |
| Debian Buster (10) | Sí | Sí |
| Debian Bullseye (11) | Sí | Sí |
| Debian Bookworm (12) | Sí | Aún no :) |
| FreeBSD 11 | NA | No |
| FreeBSD 12 | NA | No |
| Ubuntu 20.04 | Sí | Sí |
| Ubuntu 22.04 | Sí | Sí |
Requisitos
- Ansible >=2.11
- Si configuras
nginx_backportscomo verdadero, debes instalar el repositorio de backports antes de lanzar este rol.
Variables del Rol
Empaquetado
Debian:
nginx_apt_package: paquete APT de nginx (prueba: apt-cache search ^nginx)nginx_backports: instalar nginx desde el repositorio de backports (bool)
FreeBSD:
nginx_pkgng_package: paquete PKGNG de nginx (debería ser "nginx" o "nginx-devel")
Compartido
nginx_root: directorio raíz donde quieres tener tus archivosnginx_log_dir: directorio de logs (si lo cambias, no olvides cambiar la configuración de logrotate)nginx_resolver: lista de resolutores DNS (por defecto: OpenDNS)nginx_error_log_level: nivel de log por defectonginx_auto_config_httpv2: booleano, configurar automáticamente HTTP2 donde sea posiblenginx_fastcgi_fix_realpath: booleano, usar realpath para fastcgi (soluciona problemas con symlinks y PHP opcache)nginx_default_hsts: cadena, encabezado por defecto enviado para HSTS
Configuración de Nginx
nginx_usernginx_worker_processesnginx_pid: archivo pid del daemonnginx_events_*: todas las variables en el bloque de eventosnginx_http_*: todas las variables en el bloque httpnginx_custom_core: lista de instrucciones (para el núcleo, se pondrán datos en/etc/nginx/nginx.conf)nginx_custom_http: lista de instrucciones (se pondrán datos en/etc/nginx/conf.d/custom.conf)nginx_module_packages: lista de paquetes de módulos a instalar (Debian)nginx_load_modules: lista de módulos a cargar (ruta completa), debe usarse solo en FreeBSD
Varios
nginx_debug_role: establece true si necesitas ver la salida de las tareas no_log
Acerca de los módulos
Las últimas actualizaciones de los backports de Debian cargan módulos desde el directorio /etc/nginx/modules-enabled. Desactivar/Activar ya no es compatible. Por favor, espera más actualizaciones.
Configuración fina
Nota
- Soporte activo para Debian/Ubuntu.
- El soporte para FreeBSD es experimental. Solo he probado (por el momento) 10.2 (pero puede funcionar en otras versiones).
Dependencias
Ver: requirements.yml.
Si necesitas desarrollar este rol localmente en Vagrant
Antes de usar Vagrant, ejecuta una vez:
ansible-galaxy install -p ./tests/ HanXHX.php,master
Si necesitas desarrollar este rol localmente con molecule
Verifica los escenarios disponibles en el directorio molecule.
Con el escenario debian-12:
molecule -v -c molecule/_shared/base.yml verify -s debian-12
Ejemplo de Playbook
Ver tests/test.yml.
Licencia
GPLv2
Donación
Si este código te ayudó, o si lo has utilizado para tus proyectos, siéntete libre de invitarme unas :cervezas:
- Bitcoin:
1BQwhBeszzWbUTyK4aUyq3SRg7rBSHcEQn - Ethereum:
63abe6b2648fd892816d87a31e3d9d4365a737b5 - Litecoin:
LeNDw34zQLX84VvhCGADNvHMEgb5QyFXyD - Monero:
45wbf7VdQAZS5EWUrPhen7Wo4hy7Pa7c7ZBdaWQSRowtd3CZ5vpVw5nTPphTuqVQrnYZC72FXDYyfP31uJmfSQ6qRXFy3bQ
¿No tienes criptomonedas? :star: ¡el proyecto también es una forma de agradecer! :sunglasses:
Información del Autor
- Twitter: @hanxhx_
Acerca del proyecto
Nginx for Debian / FreeBSD
Instalar
ansible-galaxy install HanXHX.nginxLicencia
gpl-2.0
Descargas
6.1k
Propietario
CEO/CTO/SRE triplestack.fr / daemonit.com
