Cómo instalar varios bloques de servidor Nginx en Ubuntu 20.04 LTS

1 mar 2021 4 min di lettura
Cómo instalar varios bloques de servidor Nginx en Ubuntu 20.04 LTS
Indice dei contenuti

Prerrequisitos

Siga esta guía para instalar Nginx en Ubuntu 18.04: Cómo instalar Nginx en Ubuntu 20.04 LTS Focal Fossa.

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

Configurar bloques de servidor

Por defecto, Nginx Ubuntu solo tiene un bloque de servidor. Está configurado para usar archivos en el /var/www/html.

Necesitamos directorios adicionales si queremos configurar más sitios.

Creamos una estructura dentro de /var/www para cada uno de nuestros sitios. El contenido web se colocará en un directorio html.

Desde la consola:

sudo mkdir -p /var/www/esempio.com/html
sudo mkdir -p /var/www/test.com/html

Podemos usar la $USER para asignar los permisos necesarios a la cuenta en la que estamos conectados actualmente (asegúrese de que no está conectado como root). Esto nos permitirá crear o modificar fácilmente el contenido de este directorio:

sudo chown -R $USER:$USER /var/www/esempio.com/html
sudo chown -R $USER:$USER /var/www/test.com/html

Asegurémonos de que los permisos sean correctos:

sudo chmod -R 755 /var/www

Crea una página de muestra

Creemos un archivo index.html para el primer dominio:

nano /var/www/esempio.com/html/index.html

Peguemos el siguiente código de muestra:

<html>
 <head>
 <title>Benvenuto, esempio.com</title>
 </head>
 <body>
 <h1>Il dominio esempio.com è funzionante!</h1>
 </body>
 </html>

Guarde y cierre el archivo.

Creemos la segunda página de ejemplo, copiando la primera en el otro directorio raíz.

sudo cp /var/www/esempio.com/html/index.html /var/www/test.com/html/

Abramos el archivo:

sudo nano /var/www/test.com/html/index.html

Editemos el archivo:

<html>
 <head>
 <title>Benvenuto, test.com</title>
 </head>
 <body>
 <h1>Il dominio test.com è funzionante!</h1>
 </body>
 </html>

Guarde y cierre el archivo.

Crea un nuevo bloque de servidor para Nginx

Como se mencionó anteriormente, Nginx usa solo un bloque de servidor de forma predeterminada. Así que copiemos el existente y luego editámoslo:

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/esempio.com

Abre el archivo:

sudo nano /etc/nginx/sites-available/esempio.com

Elimine la opción default_server, ya que solo un bloque de servidor puede usar esta opción.


server {
 listen 80 default_server;
 listen [::]:80 default_server;...
 }

Entonces cambia así:


server {
 listen 80;
 listen [::]:80;...
 }

También cambie la raíz raíz principal /var/www/example.com/html; El resultado será este:


server {
 listen 80;
 listen [::]:80;

 root /var/www/esempio.com/html;
 index index.html index.htm index.nginx-debian.html;

 server_name esempio.com www.esempio.com;

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

Crea el segundo bloque de servidor

Copiemos el archivo creado anteriormente y cambiemos los parámetros necesarios:

sudo cp /etc/nginx/sites-available/esempio.com /etc/nginx/sites-available/test.com

Abre el archivo:

sudo nano /etc/nginx/sites-available/test.com

Cámbielo así:


server {
 listen 80;
 listen [::]:80;

 root /var/www/test.com/html;
 index index.html index.htm index.nginx-debian.html;

 server_name test.com www.test.com;

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

Habilitar bloques de servidor

Habilitamos los nuevos bloques de servidor creando enlaces simbólicos al directorio habilitado para sitios, que Nginx usa durante la fase de inicio.

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

Para evitar problemas de memoria debido a la adición de nuevos bloques de servidor, modificamos un parámetro dentro de nginx.conf

sudo nano /etc/nginx/nginx.conf

Busque y elimine el comentario del siguiente parámetro eliminando el símbolo # antes de la opción server_names_hash_bucket_size.


http {...

 server_names_hash_bucket_size 64;...
 }

Comprobemos si las configuraciones son correctas:

sudo nginx -t

Si no ha encontrado ningún problema, reinicie nginx:

sudo systemctl restart nginx

Edite el archivo de hosts locales para una prueba (opcional)

Si no usó sus propios nombres de dominio y en su lugar usó valores ficticios, puede modificar la configuración de su computadora local para permitirle probar temporalmente la configuración de los bloques de servidor Nginx recién configurados.

Esto no permitirá que otros visitantes vean su sitio correctamente, pero le dará la posibilidad de acceder a los sitios de forma independiente y probar su configuración. Nota Asegúrese de estar operando en su computadora local durante estos pasos y no en su servidor VPS. Deberá tener acceso de root, ser miembro del grupo administrativo o, de lo contrario, poder modificar los archivos del sistema para hacerlo.

Abra el archivo de hosts:

sudo nano /etc/hosts

Necesita conocer la dirección IP pública del servidor y los dominios que desea apuntar al servidor. Suponiendo que la dirección IP pública es, por ejemplo, 11.11.11.11, edite el archivo así:


127.0.0.1 localhost...

 11.11.11.11 esempio.com www.esempio.com
 11.11.11.11 test.com www.test.com

Probar

Ahora que todo está listo, debemos verificar que los bloques del servidor estén funcionando correctamente. Puede hacerlo visitando los dominios en su navegador:


http://esempio.com

 http://test.com

Si ambos sitios funcionan, ha configurado correctamente dos bloques de servidor independientes con Nginx.

Si ha editado el archivo de hosts en su computadora local para probar los sitios recién creados, simplemente puede eliminar las últimas líneas agregadas para restaurarlo.

Conclusión

En este tutorial hemos visto cómo crear hosts virtuales (Bloques de servidor) para asociar diferentes dominios a la misma instalación de Nginx, de modo de poder servir diferentes sitios con diferentes dominios en el mismo servidor con Ubuntu 20.04 LTS Focal Fossa.

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.