La directiva include
en Nginx permite dividir la configuración en varios archivos, facilitando la administración y modularidad de la configuración. Esto es útil para entornos complejos en los que es necesario gestionar configuraciones separadas para diferentes módulos, dominios o ubicaciones, o para mantener las configuraciones ordenadas y fáciles de actualizar.
La directiva include
permite incorporar archivos de configuración externos dentro de la configuración principal de Nginx. Estos archivos pueden contener configuraciones de servidores virtuales, ubicaciones específicas, directivas de seguridad, configuraciones de SSL, entre otros. Usar include
permite a los administradores actualizar o modificar módulos específicos sin necesidad de editar el archivo principal, lo que ayuda a prevenir errores y facilita la gestión.
La directiva include
se puede utilizar en cualquier nivel de la configuración de Nginx, como en el contexto http
, server
, location
o stream
. Se define indicando la ruta del archivo o archivos que se desean incluir.
http {
include /etc/nginx/conf.d/*.conf; # Incluye todas las configuraciones en conf.d
include /etc/nginx/ssl_params.conf; # Incluye configuraciones SSL específicas
server {
listen 80;
server_name ejemplo.com;
include /etc/nginx/sites-available/ejemplo.com.conf; # Incluye configuraciones de este sitio
location / {
root /var/www/ejemplo;
index index.html;
}
}
}
En este ejemplo:
include /etc/nginx/conf.d/.conf;
incluye todos los archivos .conf
en el directorio conf.d
, como configuraciones de servidores virtuales o reglas de seguridad.
include /etc/nginx/ssl_params.conf;
incluye un archivo de configuración SSL común, que puede contener parámetros como ssl_protocols
y ssl_ciphers
.
include /etc/nginx/sites-available/ejemplo.com.conf;
permite modularizar la configuración del sitio ejemplo.com
en un archivo específico dentro del directorio sites-available
.
1. Modularidad: Permite dividir la configuración en varios archivos, facilitando la organización y administración.
2. Mantenimiento: Facilita el mantenimiento y la actualización de configuraciones específicas, como sitios o parámetros SSL, sin modificar el archivo principal.
3. Escalabilidad: En entornos complejos con múltiples servidores virtuales, include
permite añadir o eliminar sitios sin afectar a la configuración general.
1. Incluir configuraciones por dominio:
http {
include /etc/nginx/sites-enabled/*.conf; # Incluir solo los sitios activos
server {
listen 80;
server_name otro-sitio.com;
include /etc/nginx/sites-available/otro-sitio.com.conf;
}
}
2. Incluir configuraciones de seguridad o caché compartidas:
http {
include /etc/nginx/security.conf; # Configuración de seguridad común
include /etc/nginx/cache.conf; # Configuración de caché compartida
server {
listen 80;
server_name ejemplo.com;
location / {
root /var/www/ejemplo;
index index.html;
}
}
}
3. Incluir configuraciones de localización específicas:
server {
listen 80;
server_name regional.com;
location /us/ {
include /etc/nginx/locations/us.conf; # Configuración específica para usuarios de EE.UU.
}
location /eu/ {
include /etc/nginx/locations/eu.conf; # Configuración específica para usuarios de Europa
}
}
Nginx permite incluir varios archivos a través de expresiones con comodines. Por ejemplo:
include /etc/nginx/sites-available/*.conf; # Incluye todos los archivos .conf
include /etc/nginx/conf.d/*.conf; # Incluye archivos de configuración en conf.d
Esto es útil para manejar configuraciones de múltiples sitios o parámetros organizados por carpetas.
nginx -t
) después de añadir o modificar archivos incluidos.
Para más detalles sobre la directiva include
y sus usos, consulta la documentación oficial de Nginx.
Jorge García
Fullstack developer