Cómo instalar Nginx Server Blocks para un dominio en Ubuntu 20.04

1 mar 2021 4 min di lettura
Cómo instalar Nginx Server Blocks para un dominio en Ubuntu 20.04
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 20.04 LTS Focal Fossa.

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

Prerrequisitos

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

  • Tienes un nombre de dominio que apunta a la IP de tu servidor público. En este tutorial usaremos example.com.
  • Ha iniciado sesión como usuario con privilegios de sudo.

Si desea instalar Nginx en un servidor remoto, continúe leyendo; de lo contrario, omita el primer párrafo "Conexión al servidor" y lea el siguiente.

Conexión al servidor

Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:

ssh root@IP_DEL_SERVER

A continuación, deberá ingresar la contraseña del usuario root.

Si no está utilizando el usuario root, puede iniciar sesión con otro nombre de usuario utilizando el mismo comando, luego cambie root a su nombre de usuario:

ssh nome_utente@IP_DEL_SERVER

Luego se le pedirá que ingrese su contraseña de usuario.

El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:

ssh nome_utente@IP_DEL_SERVER -p PORTA

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 2020-05-04 23:59:35 CEST; 9s ago
 Docs: man:nginx(8)
 Main PID: 67793 (nginx)
 Tasks: 2 (limit: 2286)
 Memory: 4.1M
 CGroup: /system.slice/nginx.service
 ├─67793 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
 └─67794 nginx: worker process

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, abre tu http://example.com en el navegador de tu elección y verás el mensaje de ejemplo que creamos en el archivo index.html de nuestro Bloque del Servidor Nginx.

Conclusión

Aprendió 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.

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.