GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo configurar bloques de servidor Nginx en Ubuntu 18.04

Nginx Server Blocks le permite ejecutar más de un sitio web en una sola máquina. 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 paso a paso sobre cómo configurar bloques de servidor Nginx (similares a Apache Virtual Hosts) en Ubuntu 18.04.

Requisitos previos #

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

  • Tiene un nombre de dominio que apunta a la IP de su servidor público. Usaremos example.com .
  • Ha instalado Nginx siguiendo estas instrucciones.
  • Ha iniciado sesión como usuario con privilegios sudo.
En alguna documentación, verá Server Blocks siendo referido como un Virtual host .Un host virtual es un término de Apache.

Crear la estructura de directorio #

La raíz del documento es el directorio donde los archivos del sitio web para un nombre de dominio se almacenan y sirven 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 de /var/www directorio. Dentro de cada uno de estos directorios, crearemos un public_html directorio que almacenará los archivos del sitio web del dominio.

Vamos a crear 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 archivo dentro del directorio raíz del documento del dominio.

Abre tu editor y crea el archivo de demostración:

/var/www/example.com/public_html/index.html
<!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, estamos ejecutando los comandos como usuario sudo y los archivos y directorios recién creados son propiedad del usuario root.

Para evitar problemas de permisos, cambie la propiedad del directorio raíz del documento del dominio al usuario de Nginx (www-data ):

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

Crear un bloque de servidor #

De forma predeterminada en los sistemas Ubuntu, los archivos de configuración de bloques del servidor Nginx se almacenan en /etc/nginx/sites-available directorio, que se habilitan a través de enlaces simbólicos al /etc/nginx/sites-enabled/ directorio.

Abra el editor de su elección y cree el siguiente archivo de bloque del servidor:

/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 directorio, que lee Nginx durante el inicio:

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

Pruebe la configuración de Nginx para ver 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 http://example.com en el navegador de su elección y verá algo como esto:


Ubuntu
  1. Cómo configurar un servidor OpenVPN en Ubuntu 18.04

  2. Cómo configurar Nginx como proxy inverso en Ubuntu 20.04

  3. Cómo configurar WireGuard en Ubuntu 22.04

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

  5. Cómo configurar un servidor TeamSpeak en Ubuntu 16.04

Cómo configurar bloques de servidor Nginx en Ubuntu 18.04 LTS

Cómo reiniciar o recargar NGINX en el servidor Ubuntu 20.04

Cómo instalar Nginx en Ubuntu

Cómo instalar Nginx en Ubuntu 18.04 LTS

Cómo instalar el servidor web Nginx en Ubuntu 20.04

Cómo configurar un servidor Seafile con Nginx en Ubuntu 18.04