Introducción
Nginx, pronunciado "x-engine", es un servidor proxy inverso y HTTP de código abierto de alto rendimiento responsable de manejar la carga de algunos de los sitios más grandes de Internet. Se puede utilizar como servidor web independiente, equilibrador de carga, caché de contenido y proxy inverso para servidores HTTP y no HTTP.
Un bloque de servidor es una directiva de Nginx que define la configuración para un dominio específico, lo que le permite ejecutar más de un sitio web en un solo servidor. Para cada sitio web, puede configurar la raíz del documento del sitio (el directorio que contiene los archivos del sitio web), crear una política de seguridad separada, usar diferentes certificados SSL y mucho más.
Este artículo describe cómo configurar bloques del servidor Nginx en Ubuntu 22.04. Aprenderá cómo configurar varios sitios web en un solo servidor y personalizar la configuración de cada sitio para satisfacer sus necesidades.
Requisitos previos
Asegúrese de haber cumplido con los siguientes requisitos antes de continuar:
- El nombre de dominio apunta a la IP de su servidor público.
- Nginx está instalado en su sistema Ubuntu.
- Ha iniciado sesión como root o como usuario con privilegios sudo.
Vale la pena señalar que en algunos artículos relacionados con servidores web, el término "Bloques de servidor" se denomina "host virtual". Un host virtual es un término de Apache.
Creando 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. Puede configurar la raíz del documento en cualquier ubicación que desee. En este ejemplo usaremos la siguiente estructura de directorios:
/var/www/├── domain1.com
│ └── public_html
├── domain2.com
│ └── public_html
Cada dominio alojado en el servidor tendrá la raíz del documento configurada en /var/www/<domain_name>/public_html
.
Comience creando el directorio raíz para el dominio:
sudo mkdir -p /var/www/domain1.com/public_html
A continuación, cree un archivo index.html
y colóquelo en el directorio raíz de su dominio. Este archivo se mostrará como la página predeterminada cuando acceda a la URL del dominio en su navegador web.
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Welcome to domain1.com</title>
</head>
<body>
<h1>Success! domain1.com home page!</h1>
</body>
</html>
Cuando ejecuta comandos como usuario sudo, los archivos y directorios recién creados serán propiedad del usuario root. Para evitar problemas de permisos, cambie la propiedad del directorio raíz del documento del dominio y de todos los archivos dentro del directorio al usuario de Nginx ( www-data
):
sudo chown -R www-data: /var/www/domain1.com
Creando un bloque de servidor
En los sistemas Ubuntu, los archivos de configuración para los bloques del servidor Nginx se almacenan en el directorio /etc/nginx/sites-available
. Se pueden habilitar creando enlaces simbólicos al directorio /etc/nginx/sites-enabled
, que Nginx lee durante el inicio.
Abra su editor de texto y cree el siguiente archivo de bloque de servidor:
server {
listen 80;
server_name domain1.com www.domain1.com;
root /var/www/domain1.com/public_html;
index index.html;
access_log /var/log/nginx/domain1.com.access.log;
error_log /var/log/nginx/domain1.com.error.log;
}
server_name
: los dominios que coincidirán con esta configuración de bloqueo de servidor.root
: el directorio desde el cual Nginx servirá los archivos del dominio.access_log
,error_log
: especifica la ruta a los archivos de registro.
El archivo de configuración puede tener el nombre que desee, pero normalmente es mejor utilizar el nombre de dominio.
Para habilitar el nuevo archivo de bloqueo del servidor, cree un enlace simbólico desde el archivo al directorio sites-enabled
, que Nginx lee durante el inicio:
sudo ln -s /etc/nginx/sites-available/domain1.com /etc/nginx/sites-enabled/
Para asegurarse de que la sintaxis de configuración de Nginx sea correcta, ejecute una prueba:
sudo nginx -t
Si no hay errores, el resultado 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 bloqueo del servidor esté funcionando como se esperaba, abra el navegador http://domain1.com
de su elección y verá algo como esto:
Conclusión
Le mostramos cómo crear bloques de servidores Nginx y alojar múltiples dominios en un solo servidor Ubuntu. Puede repetir los pasos anteriores y crear bloques de servidores adicionales para todos sus dominios.
Si encuentra algún problema, no dude en dejar un comentario.