Cómo mover una raíz web de Nginx a una nueva ubicación en Ubuntu 20.04

Introducción

Índice
  1. Introducción
  • Prerrequisitos
  • Paso 1: Copiar archivos a la nueva ubicación
  • Paso 2: Actualización de los archivos de configuración
  • Paso 3: Reiniciar Nginx
  • Conclusión
  • En Ubuntu, el servidor web Nginx almacena sus documentos en /var/www/html, que normalmente se encuentra en el sistema de archivos raíz con el resto del sistema operativo. Sin embargo, a veces resulta útil mover la raíz de documentos a otra ubicación, como un sistema de archivos montado por separado. Por ejemplo, si ofrece varios sitios web desde la misma instancia de Nginx, colocar la raíz de documentos de cada sitio en su propio volumen le permite escalar en respuesta a las necesidades de un sitio o cliente específico.

    En esta guía, moverá una raíz de documento Nginx a una nueva ubicación.

    Prerrequisitos

    Para completar esta guía, necesitarás:

    • Un servidor Ubuntu 20.04 y un usuario no root con privilegios sudo. Puede obtener más información sobre cómo configurar un usuario con estos privilegios en nuestra guía Configuración inicial del servidor con Ubuntu 20.04 .
    • Nginx instalado, siguiendo Cómo instalar Nginx en Ubuntu 20.04 .
    • Un certificado TLS/SSL configurado para su servidor. Tiene tres opciones:
      • Puede obtener un certificado gratuito de Let’s Encrypt siguiendo Cómo proteger Nginx con Let’s Encrypt en Ubuntu 20.04 .
      • También puede generar y configurar un certificado autofirmado siguiendo Cómo crear un certificado SSL autofirmado para Nginx en Ubuntu 20.04 .
      • Puede comprar uno de otro proveedor y configurar Nginx para usarlo siguiendo los Pasos 3 y 4 de Cómo crear un certificado SSL autofirmado para Nginx en Ubuntu 20.04 .

    En este tutorial utilizaremos el nombre de dominio your_domain , pero deberás sustituirlo por tu propio nombre de dominio.

    • Una nueva ubicación para la raíz de su documento. En este tutorial, utilizaremos el /mnt/volume-nyc3-01directorio para nuestra nueva ubicación. Si está utilizando Block Storage en DigitalOcean, esta guía le mostrará cómo crear y adjuntar su volumen. Sin embargo, la nueva ubicación de la raíz de su documento se puede configurar según sus necesidades. Si está moviendo la raíz de su documento a un dispositivo de almacenamiento diferente, deberá seleccionar una ubicación debajo del punto de montaje del dispositivo.

    Paso 1: Copiar archivos a la nueva ubicación

    En una nueva instalación de Nginx, la raíz del documento se encuentra en /var/www/html. Sin embargo, al seguir las guías de requisitos previos, creó una nueva raíz del documento, . También puede tener raíces de documentos adicionales. En este paso, estableceremos la ubicación de nuestras raíces de documentos y copiaremos los archivos relevantes a su nueva ubicación./var/www/your_domain/html

    Puede buscar la ubicación de las raíces de sus documentos utilizando grep. Busquemos en el /etc/nginx/sites-enableddirectorio para limitar nuestro enfoque a los sitios activos. El -Rindicador garantiza que grepse imprimirán tanto la línea con la rootdirectiva como el nombre de archivo completo en su salida:

    1. grep -R "root" /etc/nginx/sites-enabled

    Si siguió los tutoriales de requisitos previos en un servidor nuevo, el resultado se verá así:

    Output/etc/nginx/sites-enabled/your_domain:           root /var/www/your_domain/html;/etc/nginx/sites-enabled/default:               root /var/www/html;/etc/nginx/sites-enabled/default:               # deny access to .htaccess files, if Apache's document root/etc/nginx/sites-enabled/default:#              root /var/www/your_domain;

    Si ya tiene configuraciones existentes, los resultados pueden diferir de los que se muestran aquí. En cualquier caso, puede utilizar los comentarios de greppara asegurarse de mover los archivos deseados y actualizar los archivos de configuración adecuados.

    Ahora que ha confirmado la ubicación de la raíz de su documento, puede copiar los archivos a su nueva ubicación con rsync. El uso de la -abandera conserva los permisos y otras propiedades del directorio, mientras que -vproporciona una salida detallada para que pueda seguir el progreso de la sincronización:

    Nota: Asegúrese de que no haya una barra diagonal al final del directorio, ya que puede agregarse si utiliza la función de completar con tabulaciones. Cuando hay una barra diagonal al final, rsyncse volcará el contenido del directorio en el punto de montaje en lugar de transferirlo a un htmldirectorio que lo contenga.

    1. sudo rsync -av /var/www/your_domain/html /mnt/volume-nyc3-01

    Verá un resultado como el siguiente:

    Outputsending incremental file listcreated directory /mnt/volume-nyc3-01html/html/index.htmlsent 318 bytes  received 39 bytes  714.00 bytes/sectotal size is 176  speedup is 0.49

    Con nuestros archivos en su lugar, pasemos a modificar nuestra configuración de Nginx para reflejar estos cambios.

    Paso 2: Actualización de los archivos de configuración

    Nginx utiliza archivos de configuración globales y específicos del sitio. Para obtener información sobre la jerarquía de los archivos de configuración, consulte “Cómo configurar el servidor web Nginx en un servidor privado virtual” . Modificaremos el archivo de bloque del servidor para nuestro your_domainproyecto : ./etc/nginx/sites-enabled/your_domain

    Nota: Recuerde reemplazar your_domaincon su nombre de dominio y recuerde que estará modificando los archivos de bloque del servidor que se generaron cuando ejecutó el grepcomando en el Paso 1.

    Comience abriendo en un editor:/etc/nginx/sites-enabled/your_domain

    1. sudo nano /etc/nginx/sites-enabled/your_domain

    Busque la línea que comienza con rooty actualícela con la nueva ubicación de la raíz. En nuestro caso, será /mnt/volume-nyc3-01/html:

    /etc/nginx/sites-enabled/su_dominio

    server {        root /mnt/volume-nyc3-01/html;        index index.html index.htm index.nginx-debian.html;        . . .}. . .

    Esté atento a cualquier otro lugar en el que vea la ruta raíz del documento original generada grepen el Paso 1, incluidos alias o reescrituras. También deberá actualizarlos para reflejar la nueva ubicación de la raíz del documento.

    Cuando haya realizado todos los cambios necesarios, guarde y cierre el archivo.

    Paso 3: Reiniciar Nginx

    Una vez que haya terminado de realizar los cambios de configuración, puede reiniciar Nginx y probar los resultados.

    Primero, asegúrese de que la sintaxis sea correcta:

    1. sudo nginx -t

    Si todo está en orden debería devolver:

    Outputnginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful

    Si la prueba falla, localice y solucione los problemas.

    Una vez que pase la prueba, reinicie Nginx:

    1. sudo systemctl restart nginx

    Cuando el servidor se haya reiniciado, visita los sitios afectados y asegúrate de que funcionen como se espera. Una vez que estés seguro de que todo está en orden, no olvides eliminar la copia original de los datos:

    1. sudo rm -Rf /var/www/your_domain/html

    Ahora ha movido con éxito la raíz del documento Nginx a una nueva ubicación.

    Conclusión

    En este tutorial, explicamos cómo cambiar la raíz de documentos de Nginx a una nueva ubicación. Esto puede ayudarte con la administración básica del servidor web, como la gestión eficaz de varios sitios en un solo servidor. También te permite aprovechar dispositivos de almacenamiento alternativos, como el almacenamiento en bloque de red, que puede resultar útil para escalar un sitio web a medida que cambian sus necesidades.

    Si administra un sitio web con mucho tráfico o en crecimiento, quizás le interese aprender cómo configurar Nginx con HTTP/2 para aprovechar su alta velocidad de transferencia de contenido.

    SUSCRÍBETE A NUESTRO BOLETÍN 
    No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Subir

    Este sitio web utiliza cookies para mejorar tu experiencia mientras navegas por él. Este sitio web utiliza cookies para mejorar tu experiencia de usuario. Al continuar navegando, aceptas su uso. Mas informacion