¿Qué es default_server en nginx?

¿Qué es default_server en nginx?
Como servidor web, Nginx le permite definir múltiples bloques de servidor en su archivo de configuración. Todos esos servidores funcionan como servidores web virtuales separados. Como resultado, se requiere un enfoque para determinar qué servidor manejará solicitudes de entrada específicas. En el archivo de configuración de Nginx, el inder_server se utiliza para este propósito.

¿Qué es default_server en nginx?

En un bloque de servidor, cuando el default_server La bandera se agrega en una directiva de escuchar, Nginx declarará ese servidor como el servidor predeterminado. Después de eso, el NGINX utilizará el servidor predeterminado para manejar las solicitudes cuando su encabezado host HTTP permanece sin igual con cualquier otro bloque de servidor. La bandera default_server solo se puede agregar una vez en un bloque de servidor con cualquier combinación de puerto IP: especificada como un parámetro de la directiva de escucha. Sin embargo, la bandera predeterminada_server se puede utilizar varias veces en diferentes combinaciones de IP: puerto.

Antes de usar default_server en nginx, debe instalar nginx en su sistema si aún no lo tiene!

Cómo instalar Nginx en CentOS

En primer lugar, abra su terminal CentOS presionando "Ctrl+Alt+T"Y luego escriba el comando otorgado:

$ sudo yum instalación nginx

La salida sin error declara que Nginx se instala correctamente en su sistema.

Cómo habilitar Nginx en CentOS

Ahora, utilice el comando otorgado para habilitar NGINX en el sistema CentOS:

$ sudo SystemCTL Habilitar Nginx

Después de eso, comience el servicio NGINX:

$ sudo systemctl inicio nginx

Cómo establecer reglas de firewall para Nginx en CentOS

Lo siguiente que vamos a hacer es establecer la configuración del firewall para permitir las conexiones externas para el Nginx, que se ejecuta en el puerto 80 por defecto. El firewall-cmd es el comando que se utiliza para administrar la configuración de firewalld permanente y de tiempo de ejecución.

Para habilitar permanentemente las conexiones HTTP en el puerto 80, escriba el comando otorgado en su terminal CentOS:

$ sudo firewall-cmd --Permanent --add-service = http

Para verificar si el Http El servicio de firewall se agregó correctamente al sistema, ejecute este comando:

$ sudo firewall-cmd --Permanent --list-all

Ahora, debe volver a cargar el servicio de firewall:

$ sudo firewall-cmd--Reload

Cómo configurar servidores en Nginx

En el archivo de configuración de NGINX, las directivas de configuración del servidor, como el nombre del servidor y Puerto TCP se especifican en el bloque del servidor . La Directiva de escuchar instruye a Nginx que escuche las conexiones HTTP en el puerto IP y TCP especificado. Cuando NGINX maneja una solicitud, la Directiva de nombre del servidor le indica que seleccione un servidor específico de una lista de numerosos bloques de servidor.

Si desea configurar un servidor virtual en NGINX, entonces en su editor nano, abra el archivo de configuración de Nginx "/etc/nginx/nginx.confusión":

$ sudo nano/etc/nginx/nginx.confusión

Su archivo de configuración de Nginx se verá así:

Su archivo de configuración de Nginx debe contener al menos una directiva de servidor para definir un servidor virtual. Al procesar una solicitud, Nginx primero determina qué servidor virtual va a manejar la solicitud. En el contexto HTTP, un servidor virtual se define mediante una directiva del servidor, como:

http
servidor
# Configuración del servidor

En el bloque del servidor, puede configurar todas las configuraciones relacionadas con el servidor en particular:

Se agregan múltiples directivas del servidor al contexto HTTP para definir múltiples servidores virtuales. El "escuchar"La directiva en el bloque de configuración del servidor se utiliza para agregar la dirección IP y el puerto en el que el servidor escucha las solicitudes. Se permiten direcciones IPv4 e IPv6 y se deben agregar direcciones IPv6 dentro de los soportes cuadrados.

La configuración de un servidor que escucha en el puerto 8080 y la dirección IP 127.0.0.1 se muestra en el siguiente ejemplo:

http
servidor
Escucha 127.0.0.1: 8080;
# Configuración adicional del servidor

Cómo configurar un servidor predeterminado en Nginx

En el Nginx archivo de configuración, el default_server La opción especifica el servidor predeterminado al que se reenviará un cliente con un dominio desconocido y un campo de host vacío. Por ejemplo, cuando un cliente escribe la dirección IP del servidor en un navegador o tiene muchos dominios, como Linuxhint.com, test1.Linuxhint.com y test2.Linuxhint.com, no todos se mencionan en el archivo de configuración de Nginx.

Si no ha agregado el "default_serverParámetro para cualquier servidor virtual, el primer servidor se considerará predeterminado. Sin embargo, puede especificar explícitamente un default_server de la siguiente manera:

servidor
escuchar 80 default_server;
#…

La configuración de Nginx considerará este servidor como su "default_server":

También puede agregar otro parámetro de configuración, como el nombre del servidor y el directorio que contiene todos los archivos de configuración:

servidor
escuchar 80 default_server;
nombre del servidor _;
root/usr/share/nginx/html;

Guarde las líneas agregadas en el "/etc/nginx/nginx.confusión"Archivo presionando"CTRL+O":

Ahora, pruebe el archivo de configuración de Nginx y su sintaxis ejecutando el "nginx"Comando con el"-T" opción:

$ sudo nginx -t

Después de una prueba exitosa, reinicie el Nginx Servicio para que su sistema entrará en vigencia de los cambios adicionales:

$ sudo systemctl reiniciar nginx

Conclusión

En el Nginx Archivo de configuración, el bloque del servidor especifica un servidor virtual para manejar tipos específicos de solicitudes. Después de configurar varios bloques de servidor, los administradores eligen bloques para la conexión. Esta selección se basa en la dirección IP, el puerto y el nombre de dominio de la solicitud. Sin embargo, también puede especificar un default_server para manejar las solicitudes entrantes. En esta publicación, hemos explicado default_server y cómo configurando servidores virtuales, incluido el servidor predeterminado en Nginx.