Cómo instalar bloques de servidor Nginx (hosts virtuales) en Ubuntu 18.04 LTS

27 feb 2021 4 min di lettura
Cómo instalar bloques de servidor Nginx (hosts virtuales) en Ubuntu 18.04 LTS
Indice dei contenuti

Introducción

Nginx Server Blocks le permite ejecutar más de un sitio web en una sola computadora. Con Server Blocks, puede especificar la raíz del documento del sitio (el directorio que contiene los archivos del sitio web), crear una política de seguridad separada para cada sitio, usar diferentes certificados SSL para cada sitio y mucho más.

En este artículo, proporcionaremos instrucciones detalladas sobre cómo configurar un bloque de servidor Nginx en Ubuntu 18.04.

Para obtener una guía sobre cómo configurar varios bloques de servidor con Nginx en Ubuntu 18.04, lea este tutorial.

Prerrequisitos

Asegúrese de cumplir los siguientes requisitos previos antes de continuar con el tutorial:

En algunos tutoriales, es posible que veas que los Server Blocks se denominan Virtual host. El término host virtual se usa generalmente para Apache.

Instalar Nginx

El paquete Nginx se incluye en los repositorios predeterminados de Ubuntu 18.04.

sudo apt update
sudo apt install nginx

El servicio Nginx se iniciará automáticamente al final del proceso de instalación. Para verificar el estado, escriba:

sudo systemctl status nginx

La salida se verá así:

 nginx.service - A high performance web server and a reverse proxy server
 Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
 Active: active (running) since Mon 2019-11-18 22:54:20 CET; 9s ago

Configurar el cortafuegos

Suponiendo que está utilizando UFW para administrar su firewall, debe abrir los 80 ) y HTTPS ( 443 ). Puede hacer esto habilitando el perfil 'Nginx Full' que incluye reglas para ambos puertos:

sudo ufw allow 'Nginx Full'

Para verificar el tipo de estado de Nginx:

sudo ufw status

La salida se verá así:

Status: active

 To Action From
 -- ------ ----
 22/tcp ALLOW Anywhere
 Nginx Full ALLOW Anywhere
 22/tcp (v6) ALLOW Anywhere (v6)
 Nginx Full (v6) ALLOW Anywhere (v6)

Cree la estructura de directorio para el bloque de servidor

La raíz del documento es el directorio donde se almacenan los archivos del sitio web para un nombre de dominio y se ofrecen en respuesta a las solicitudes. Puede establecer la raíz del documento en cualquier ubicación que desee.

Usaremos la siguiente estructura de directorios:

/var/www/├── domain1.com
 │  └── public_html
 ├── domain2.com
 │  └── public_html
 ├── domain3.com
 │  └── public_html

Básicamente, crearemos un directorio separado para cada dominio que queramos alojar en nuestro servidor dentro del /var/www. Dentro de cada uno de estos directorios, crearemos un public_html que almacenará los archivos del sitio web del dominio.

Creemos el directorio raíz para nuestro dominio example.com:

sudo mkdir -p /var/www/example.com/public_html

Con fines de prueba, crearemos un index.html dentro del directorio raíz del documento del dominio.

Abra el archivo /cree el archivo con su editor, en este tutorial usaremos nano:

sudo nano /var/www/example.com/public_html/index.html

Pegue las siguientes líneas de código:

<!DOCTYPE html>
 <html lang="en" dir="ltr">
 <head>
 <meta charset="utf-8">
 <title>Welcome to example.com</title>
 </head>
 <body>
 <h1>Success! example.com home page!</h1>
 </body>
 </html>

En este ejemplo, ejecutamos los comandos como el usuario sudo y los archivos y directorios recién creados son propiedad del usuario root.

Para evitar problemas de autorización, cambie la propiedad del directorio raíz del documento del dominio al usuario Nginx ( www-data ) con el comando chown:

sudo chown -R www-data: /var/www/example.com

Crea un bloque de servidor

De forma predeterminada en los sistemas Ubuntu, los archivos de configuración del bloque del servidor Nginx se almacenan en el /etc/nginx/sites-available, que se habilitan mediante enlaces simbólicos al /etc/nginx/sites-enabled/.

Abra su editor y cree el siguiente archivo de bloqueo del servidor:

sudo nano /etc/nginx/sites-available/example.com
server {
 listen 80;
 listen [::]:80;

 root /var/www/example.com/public_html;

 index index.html;

 server_name example.com www.example.com;

 access_log /var/log/nginx/example.com.access.log;
 error_log /var/log/nginx/example.com.error.log;

 location /{
 try_files $uri $uri/=404;
 }
 }

Puede nombrar el archivo de configuración como desee, pero generalmente es mejor usar el nombre de dominio.

Para habilitar el nuevo archivo de bloqueo del servidor, cree un enlace simbólico desde el archivo al sites-enabled para sitios, que Nginx lee al inicio:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Pruebe la configuración de Nginx para obtener la sintaxis correcta:

sudo nginx -t

Si no hay errores, la salida se verá así:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
 nginx: configuration file /etc/nginx/nginx.conf test is successful

Reinicie el servicio Nginx para que los cambios surtan efecto:

sudo systemctl restart nginx

Finalmente, para verificar que el bloque del servidor funciona como se esperaba, abra su http://example.com en el navegador de su elección y verá el mensaje de ejemplo que creamos en el archivo index.html de nuestro Bloque del servidor Nginx.

Conclusión

Ha aprendido a crear una configuración de bloque de servidor Nginx para alojar un dominio en un solo servidor Ubuntu. Puede repetir los pasos anteriores y crear bloques de servidor adicionales para todos sus dominios.

Si desea proteger su sitio web con un certificado SSL LetsEncrypt gratuito, puede consultar la siguiente guía: Cómo instalar Let's Encrypt para Nginx en Ubuntu 18.04 LTS.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.