GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo configurar bloques de servidor Nginx en Ubuntu 18.04/20.04

En Nginx, bloqueos de servidor se utilizan para definir información de dominio específica. Ayuda a alojar múltiples dominios o sitios web. Cada bloque contiene información de dominio específica, como la raíz del documento, SSL, puerto y más. Los bloques del servidor Nginx son similares a los hosts virtuales de Apache.

En este tutorial, aprendemos cómo configurar bloques de servidor Nginx en Ubuntu 18.04/20.04 .

Requisitos previos

Requiere una instancia de Ubuntu 18.04/20.04. La instancia debe tener Nginx instalado. Requiere un usuario con acceso sudo.

Paso 1. Crear la estructura del directorio

La raíz del documento es el directorio donde se almacenan y sirven los archivos del sitio web para un nombre de dominio en respuesta a las solicitudes. Podemos establecer la raíz del documento en cualquier ubicación que queramos, pero en este artículo usaremos la siguiente estructura de directorios:

/var/www/
├── domain1.com
│   └── images
│   └── index.html
│   └── style.css
├── domain2.net
│   └── images
│   └── index.html
│   └── style.css

Básicamente, crearemos un directorio separado para cada dominio que queramos alojar en nuestro servidor dentro de /var/www directorio.

Vamos a crear el directorio raíz para nuestros dominios:

$ sudo mkdir -p /var/www/domain1.com

Con fines de prueba, crearemos un directorio index.html, archivos style.css e imágenes dentro del directorio raíz del documento del dominio.

$ cd /var/www/domain1.com/
/var/www/domain1.com$ sudo mkdir images index.html style.css

Abre nuestro editor y crea el archivo de demostración:

/var/www/dominio1.com/index.html
<!DOCTYPE html> <html lang="en" dir="ltr">

<head> <meta charset="utf-8">

<title>Welcome to domain1.com</title> <link rel="stylesheet" href="style.css"/>

</head>

<body> <h1 style="color:green;text-align:center;">Success! domain1.com home page!</h1>

</body>

</html>

Aquí estamos ejecutando los comandos como sudo usuario y los archivos y directorios recién creados son propiedad de root usuario.

Para evitar problemas de permisos, podemos cambiar la propiedad del directorio raíz del documento del dominio al usuario de Nginx (www-data) :

$ sudo chown -R www-data: /var/www/domain1.com

haremos los mismos procedimientos para el domain2.net

Paso 2. Crear archivos de bloque de servidor Nginx para cada dominio

Ahora que tenemos el contenido que deseamos servir, necesitamos crear los bloques del servidor que le dirán a Nginx cómo hacerlo.

De forma predeterminada, Nginx contiene un bloque de servidor llamado dfault que podemos usar como plantilla para nuestras propias configuraciones. Comenzaremos diseñando el bloque de servidor de nuestro primer dominio, que luego copiaremos para nuestro segundo dominio y haremos las modificaciones necesarias.

1) Crear el primer archivo de bloque del servidor Nginx

Como se mencionó anteriormente, crearemos nuestro primer archivo de configuración de bloqueo del servidor copiando el archivo predeterminado:

$ sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/domain1.com

Ahora, abre el nuevo archivo que creaste en tu editor de texto con privilegios sudo:

$ sudo nano /etc/nginx/sites-available/domain1.com

Después de editar el archivo, se verá similar a esto:

/etc/nginx/sites-available/domain1.com
server { 

listen 80; 

listen [::]:80; 

root /var/www/domain1.com; 

index index.html index.htm index.nginx-debian.html; 

server_name domain1.com www.domain1.com; 

location / 

    { try_files $uri $uri/ =404; 

  } 
}

Eso es todo lo que necesitamos para una configuración básica. Guarde y cierre el archivo para salir Ctrl + x .

2) Crear el segundo archivo de bloque del servidor Nginx

Ahora que tenemos nuestra primera configuración de bloque de servidor Nginx, podemos usarla como base para nuestro segundo archivo. Cópielo para crear un nuevo archivo:

$ sudo cp /etc/nginx/sites-available/domain1.com /etc/nginx/sites-available/domain2.net

Abra el nuevo archivo con sudo privilegios en tu editor:

$ sudo nano /etc/nginx/sites-available/domain2.net

Ajuste la directiva raíz para que apunte al documento de nuestro segundo dominio root y ajuste el server_name para que coincida con el nombre de dominio de su segundo sitio (asegúrese de incluir cualquier alias).

Cuando haya terminado, nuestro archivo probablemente se verá así:

/etc/nginx/sites-available/domain2.net
server { 

listen 80; 

listen [::]:80; 

root /var/www/domain2.net; 

index index.html index.htm index.nginx-debian.html; 

server_name domain2.net www.domain2.net; 

location / 

{ try_files $uri $uri/ =404; 

  } 
}

Guarde y cierre el archivo para salir Ctrl + x .

Paso 3. Habilite nuestros bloques de servidor Nginx y reinicie Nginx

Ahora que tenemos nuestros archivos de bloqueo del servidor, debemos habilitarlos. Podemos hacer esto creando enlaces simbólicos desde estos archivos a los sites-enabled directorio, del cual Nginx lee durante el inicio.

Podemos crear estos enlaces escribiendo:

$ sudo ln -s /etc/nginx/sites-available/domain1.com /etc/nginx/sites-enabled/
$ sudo ln -s /etc/nginx/sites-available/domain2.net /etc/nginx/sites-enabled/

Estos archivos ahora están en el directorio habilitado. Ahora tenemos tres bloques de servidor habilitados:

1. dominio1.com:Responderá a las solicitudes de dominio1.com y www.dominio1.com
2. dominio2.net:Responderá a las solicitudes de dominio2.net y www.dominio2.net
3. predeterminado:responderá a cualquier solicitud en el puerto 80 que no coincida con los otros dos bloques.

Para evitar un posible problema de memoria del depósito hash que puede surgir al agregar nombres de servidor adicionales, seguiremos adelante y ajustaremos un solo valor dentro de nuestro archivo /etc/nginx/nginx.conf. Abra el archivo ahora:

$ sudo nano /etc/nginx/nginx.conf

Dentro del archivo, busque el server_names_hash_bucket_size directiva. Eliminar el # símbolo para descomentar la línea:

/etc/nginx/nginx.conf
http { . . . server_names_hash_bucket_size 64; . . . }

Guarde y cierre el archivo cuando haya terminado.

A continuación, pruebe para asegurarse de que no haya errores de sintaxis en ninguno de nuestros archivos Nginx:

$ sudo nginx -t

Si no se encontraron problemas, reinicie Nginx para habilitar nuestros cambios:

$ sudo systemctl restart nginx

Nginx ahora debería estar sirviendo a nuestros dos nombres de dominio.

Paso 4. Verificar accediendo al sitio web

Ahora que estamos todos configurados, debemos probar que nuestros bloques de servidor funcionan correctamente. Podemos hacerlo visitando los dominios en nuestro navegador web:

http://domain1.com

Debería ver una página similar a esta:

Si visita su segundo nombre de dominio, debería ver un sitio ligeramente diferente:

http://domain2.net

Conclusión

En este tutorial, aprendimos cómo configurar el bloque del servidor Nginx en Ubuntu 18.04/20.04. Usando bloques de servidor Nginx, hemos configurado dos dominios para atender solicitudes web.


Ubuntu
  1. Cómo configurar bloques de servidor Nginx en Ubuntu 18.04

  2. Cómo instalar Nginx en Ubuntu 20.04

  3. Cómo configurar bloques de servidor Nginx en Ubuntu 20.04

  4. Cómo configurar HAProxy en el servidor Debian 9 / Ubuntu 16.04

  5. Cómo instalar y configurar Nginx en Ubuntu 18.04 / Debian 9

Cómo instalar MongoDB en Ubuntu 22.04/20.04

Cómo instalar PHP 8 en Ubuntu 22.04/20.04

Cómo reiniciar o recargar NGINX en el servidor Ubuntu 20.04

Cómo instalar y configurar Nginx en Ubuntu 20.04 y Ubuntu 21.04

Cómo instalar Nginx en Ubuntu

Cómo instalar Nginx en Ubuntu 18.04 LTS