GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo configurar el host virtual Nginx (bloques de servidor) en CentOS 7

Introducción

Server Blocks, a menudo denominado host virtual Nginx son una característica del servidor web Nginx que le permite alojar múltiples sitios web en un servidor. A diferencia de instalar y configurar un servidor para cada dominio, alojar varios sitios web en una sola máquina ahorra tiempo y dinero.

Los dominios están aislados e independientes, cada uno tiene un separado:

  • Directorio de documentación del sitio
  • Política de seguridad del sitio web
  • Certificado SSL

En este tutorial, aprenda cómo configurar bloques de servidor Nginx y configurar un archivo de host local en CentOS 7.

Requisitos previos

  • Un servidor o VM autogestionado de CentOS
  • Nginx instalado en el sistema
  • Un usuario con sudo privilegios

Configuración de host virtual/bloques de servidor en CentOS

Paso 1:Crear estructura de directorio

El host virtual de Nginx puede albergar múltiples sitios web en una sola máquina. Como cada sitio web tiene documentación de sitio individual, debe crear estructuras de directorios individuales para almacenar los datos.

Cada bloque de servidor debe tener un directorio dentro de la raíz del documento (el /var/www directorio).

Esta guía le muestra cómo crear hosts virtuales para dos servidores (website1.com y sitioweb2.com ). Puede ajustar la configuración y adaptarla a sus respectivos recursos.

1. Comience usando el siguiente comando para crear una carpeta dentro de /var/www directorio con el comando:

sudo mkdir -p /var/www/website1.com/html

2. Luego, cree uno para el segundo sitio web escribiendo:

sudo mkdir -p /var/www/website2.com/html

3. A continuación, cambie la propiedad de los archivos para que otros usuarios puedan agregar, eliminar o modificar archivos en los directorios. Como resultado, ambos directorios pertenecerán al usuario con el que inició sesión.

4. Use el comando chown para cambiar la propiedad del archivo:

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

5. Repita el proceso para el segundo directorio web (asegurándose de cambiar el nombre de dominio) escribiendo:

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

6. Finalmente, otorga permiso de lectura a todos los archivos dentro del directorio /var/www usando chmod comando:

sudo chmod -R 755 /var/www

Paso 2:Cree una página de demostración para el host virtual

El siguiente paso es crear el contenido que desea mostrar en los sitios web alojados en los bloques del servidor Nginx. La forma más sencilla de ilustrar el proceso sería crear un index.html página para los dos dominios mencionados anteriormente.

1. Use un editor de texto de Linux de su elección para crear y abrir el archivo index.html para el primer sitio web. En este ejemplo, usamos Vi (pero Nano o cualquier otro también funciona bien):

vi /var/www/website1.com/html/index.html

2. Una vez que se abra una página Vi en blanco, presione i (para insertar) y agregue el siguiente contenido:

<html>
  <head>
    <title>Welcome to our first website!</title>
  <head>
  <body>
    <h1>Great work! You have created the website1.com server block.</h1>
  <body>
<html>

3. Luego, guarde y salga del primer archivo.

4. Repita los pasos para el segundo dominio. Pero recuerda modificar el nombre del archivo a website2 :

vi /var/www/website2.com/html/index.html

Además, agregue contenido similar al paso anterior, pero cambie los detalles para que coincidan con el segundo dominio:

<html>
  <head>
    <title>Welcome to our second website!</title>
  <head>
  <body>
    <h1>Great work! You have created the website2.com server block.</h1>
  <body>
<html>

De nuevo, guarde y salga del archivo.

Paso 3:configurar el entorno para los archivos de bloque del servidor

Antes de configurar hosts virtuales para los dos dominios, necesitamos crear dos directorios:

  • Sitios disponibles directorio para almacenar los bloques del servidor.
  • Sitios habilitados directorio que le indicará a Nginx qué enlaces publicar y qué bloques compartir contenido con los visitantes.

1. Usa el mkdir comando para crear los nuevos directorios usando los comandos:

sudo mkdir /etc/nginx/sites-available
sudo mkdir /etc/nginx/sites-enabled

2. Luego, abra el archivo de configuración de Nginx y modifíquelo agregando el directorio habilitado para sitios:

sudo vi /etc/nginx/nginx.conf

3. Dentro del bloque http, agregue las siguientes dos líneas:

include /etc/nginx/sites-enabled/*.conf
server_names_hash_bucket_size 64;

Mientras que la primera línea le indica a Nginx que verifique el directorio habilitado para sitios, la segunda aumenta la cantidad de memoria reservada para examinar varios nombres de dominio.

4. Guarde el archivo y salga.

5. Verifique el archivo de configuración de Nginx después de realizar cualquier tipo de modificación para asegurarse de que la sintaxis sea correcta. Hacerlo puede ayudar a evitar posibles errores en el futuro.

Pruebe el archivo con el siguiente comando:

sudo nginx --t

Si la sintaxis es correcta , el resultado le indica que la prueba fue exitosa, como en la imagen a continuación.

Sin embargo, si encuentra un problema en la sintaxis, la salida especifica dónde está el error y cómo volver atrás y corregirlo.

Paso 4:Crear archivos de bloque de servidor

El paquete del servidor web Nginx viene con un bloque de servidor predeterminado con el nombre default.conf. Como necesita crear bloques de servidor para cada dominio, la forma más fácil de hacerlo sería copiar la plantilla existente y modificar las especificaciones.

1. Cree un host virtual para el primer sitio web con cp comando para hacer una copia exacta del archivo:

sudo cp /etc/nginx/conf.d/default.conf /etc/nginx/sites-available/website1.com.conf

2. Abra el archivo clonado con un editor de texto con el siguiente comando:

sudo vi /etc/nginx/sites-available/website1.com.conf

El contenido del archivo debe aparecer como en la siguiente imagen:

3. Hay tres (3) líneas que deberá editar en el archivo:

  • El nombre_servidor debe corresponder al nombre de dominio de su primer sitio web. Asegúrese de incluir la dirección con y sin www. prefijo. Al hacerlo, el servidor reconocerá ambos tipos de solicitudes de los visitantes y los redirigirá al mismo contenido.

En nuestro ejemplo, server_name sería por lo tanto:

server name website1.com www.website1.com;
  • Modifique el directorio raíz para que coincida con website1.com usando el comando:
root /var/www/website1.com/html;
  • Agregar un try_files Comando con un error 404 para casos en los que el servidor recibe solicitudes de archivos y directorios imposibles de rastrear:
try_files $uri $uri/ =404;

Asegúrese de guardar el archivo antes de salir. Una vez realizados todos los cambios, el archivo de configuración aparecerá de la siguiente manera:

4. Repita el proceso para el segundo bloque de servidor mientras cambia los detalles para que correspondan a website2.com .

Esto incluye copiar el archivo de configuración predeterminado con el comando:

sudo cp /etc/nginx/conf.d/default.conf /etc/nginx/sites-available/website2.com.conf

Seguido de abrir un archivo con un editor de texto:

sudo vi /etc/nginx/sites-available/website2.com.conf

Edite el contenido de la siguiente manera:

server name website2.com www.website2.com;
try_files $uri $uri/ =404;
root /var/www/website2.com/html;

Paso 5:habilite los archivos de bloqueo del servidor

Para habilitar los archivos de host virtual, cree enlaces simbólicos en los directorios habilitados para sitios con los comandos:

sudo ln -s /etc/nginx/sites-available/website1.com.conf /etc/nginx/sites-enabled/website1.com.conf
sudo ln -s /etc/nginx/sites-available/website2.com.conf /etc/nginx/sites-enabled/website2.com.conf


Para que se realicen los cambios, asegúrese de reiniciar Nginx:

sudo systemctl restart nginx

Paso 6:configurar el archivo de host

Si ha utilizado los dominios de ejemplo en lugar de los que funcionan, modifique los hosts archivo para redirigir las solicitudes al servidor privado virtual (VPS) que ha creado.

1. Abra el archivo host en un editor de texto:

sudo vi /etc/hosts

2. Edite las siguientes dos líneas debajo del contenido existente, mientras especifica la dirección IP del VPS:

ip_address website1.com
ip_address website2.com

3. Guarde y salga del archivo.

Paso 7:Verificar la configuración de los bloques del servidor

Para verificar la configuración de los bloques del servidor, navegue a los sitios web que ha creado para hospedar en los bloques del servidor.

Abra un navegador y escriba la URL del primer dominio:

www.website1.com
www.website2.com

Debería ver el contenido creado para la página de demostración en el paso 2.


Cent OS
  1. Cómo configurar servidores virtuales Apache en CentOS

  2. Cómo crear un host virtual Nginx (bloque de servidor)

  3. Configurar el servidor DHCP en CentOS 8:¿cómo hacerlo?

  4. Cómo configurar bloques de servidor Nginx en Ubuntu y CentOS

  5. Host virtual Nginx:bloque de servidor Nginx

Cómo crear servidores virtuales Apache en CentOS 7

Cómo crear un servidor LAMP en CentOS 7

Cómo instalar Nginx en CentOS

Cómo configurar un host virtual Nginx

Cómo instalar Nginx en CentOS 6

Cómo configurar el servidor DHCP en CentOS 8