Saltar al contenido

Cómo mover un directorio raíz Web Nginx a un nuevo lugar en Ubuntu 18.04

marzo 4, 2020

 

Introducción

En Ubuntu, el servidor web Nginx almacena sus documentos en / var / www / html, que normalmente se encuentra en el sistema de ficheros raíz con resto del sistema operativo. A veces, sin embargo, es útil para mover la raíz del documento a otra ubicación, como por ejemplo un sistema de ficheros montado por separado. Por ejemplo, si sirven a múltiples sitios web desde la misma instancia Nginx, poniendo raíz de documentos de cada sitio en su propio volumen le permite escalar en respuesta a las necesidades de un sitio o un cliente específico.

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

Requisitos previos

Para completar esta guía, necesitará:

  • Una Ubuntu 18.04 servidor y un usuario no root con privilegios sudo. Se puede obtener más información sobre cómo configurar un usuario con privilegios de estos en nuestra configuración inicial del servidor con Ubuntu 18.04 guía.
  • Nginx instalado, siguiendo Cómo instalar Nginx en Ubuntu 18.04. certificado
  • Un TLS / SSL configurado para el servidor. Tiene tres opciones: puede obtener un certificado libre de Cifrar Vamos siguiendo Cómo proteger con Nginx Cifrar Vamos en Ubuntu 18.04. También puede generar y configurar un certificado autofirmado siguiendo Cómo crear un certificado SSL autofirmado para Nginx en Ubuntu 18.04.You puede comprar uno de otro proveedor y configurar Nginx utilizarlo siguiendo los pasos 2 a 6 de Como crear un certificado SSL autofirmado para Nginx en Ubuntu 18.04.
  • Usted puede obtener un certificado libre de Cifrar Vamos siguiendo Cómo proteger con Nginx Cifrar Vamos en Ubuntu 18.04.
  • También puede generar y configurar un certificado autofirmado siguiendo Cómo crear un certificado SSL autofirmado para Nginx en Ubuntu 18.04.
  • Usted puede comprar uno de otro proveedor y configurar Nginx utilizarlo siguiendo los pasos 2 a 6 de Cómo crear un certificado SSL autofirmado para Nginx en Ubuntu 18.04.
  • Usted puede obtener un certificado libre de Cifrar Vamos siguiendo Cómo proteger con Nginx Cifrar Vamos en Ubuntu 18.04.
  • También puede generar y configurar un certificado autofirmado siguiendo Cómo crear un certificado SSL autofirmado para Nginx en Ubuntu 18.04.
  • Usted puede comprar uno de otro proveedor y configurar Nginx utilizarlo siguiendo los pasos 2 a 6 de Cómo crear un certificado SSL autofirmado para Nginx en Ubuntu 18.04.

vamos a utilizar el nombre de dominio example.com en este tutorial, pero se debe sustituir esto con su propio nombre de dominio.

  • una nueva ubicación para la raíz del documento. En este tutorial, vamos a utilizar el directorio / mnt / volumen nyc3-01 para nuestra nueva ubicación. Si está utilizando el bloque de almacenamiento digitalocean, esta guía le mostrará cómo crear y adjuntar su volumen. Su nueva ubicación raíz del documento se puede configurar en función de sus necesidades, sin embargo. Si va a mover la raíz del documento a un dispositivo de almacenamiento diferente, tendrá que seleccionar una ubicación bajo el dispositivo de punto de montaje.

Paso 1 – Copia de archivos en la nueva ubicación

En una instalación nueva de Nginx, la raíz del documento se encuentra en / var / www / html. Siguiendo las guías de requisitos previos, sin embargo, que ha creado una nueva raíz del documento, /var/www/example.com/html. Es posible que tenga raíces adicionales de documentos también. En este paso, vamos a establecer la ubicación de nuestras raíces de documentos y copiar los archivos correspondientes a su nueva ubicación.

Puede buscar la ubicación de sus raíces de documentos utilizando grep. Búsqueda Vamos en el directorio / etc / nginx / sites-enabled para limitar nuestra atención a los sitios activos. Las asegura que grep -R bandera imprimirá tanto en la línea con la directiva de la raíz y el nombre completo de su producción:

grep -R "root" /etc
ginx/sites-enabled

  • grep “raíz” -R / etc / nginx / sites-enabled

Si ha seguido el requisito tutoriales sobre un servidor fresca, el resultado será el siguiente aspecto:

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

Si tiene configuraciones pre-existentes, sus resultados pueden diferir de lo que se muestra aquí. En cualquiera de los casos, se puede utilizar la retroalimentación de grep para asegurarse de que está moviendo los archivos deseados y la actualización de los archivos de configuración apropiados.

Ahora que ha confirmado la ubicación de la raíz del documento, se pueden copiar los archivos a su nueva ubicación con rsync. Utilizando el indicador -a conserva los permisos y otras propiedades del directorio, mientras que -v proporciona verbosa de salida para que pueda seguir el progreso de la sincronización:

Nota: Asegúrese de que no hay una barra diagonal en el directorio, que se puede añadir si se utiliza la implementación del tabulador. Cuando hay una barra final, rsync volcar el contenido del directorio en el punto de montaje en lugar de transferirla a un directorio que contiene HTML.

sudo rsync -av /var/www/example.com/html /mnt/volume-nyc3-01

  • sudo rsync -av /var/www/example.com/html / mnt / volumen nyc3-01

verá una salida como la siguiente:

Outputsending incremental file list
created directory /mnt/volume-nyc3-01
html/
html/index.html

sent 318 bytes received 39 bytes 714.00 bytes/sec
total size is 176 speedup is 0.49

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

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

Nginx hace uso de dos archivos de configuración globales y específicas de sitio. Para el fondo de la jerarquía de archivos de configuración, echar un vistazo a “Cómo configurar el servidor Web Nginx en un servidor privado virtual”. Modificaremos el archivo de bloque servidor para nuestro proyecto example.com: /etc
ginx/sites-enabled/example.com.

Nota: Recuerde que en su caso será example.com Your_Domain_Name, y que va a modificar los archivos de bloques de servidor que se emite cuando se ejecutó el comando grep en el paso 1.

Empiece por apertura / etc / nginx /sites-enabled/example.com en un editor:

sudo nano /etc
ginx/sites-enabled/example.com

  • sudo nano /etc
    ginx/sites-enabled/example.com

busque la línea que comienza con la raíz y actualizarlo con la nueva ubicación de la raíz. En nuestro caso, esto será / mnt / volumen nyc3-01 / html:

server {

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

Mantenga un ojo hacia fuera para cualquier otro lugar que se ve la ruta raíz del documento original emitida por grep en el paso 1, y en alias o reescrituras. También tendrá que actualizar estos para reflejar la nueva ubicación raíz del documento.

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

Paso 3 – Reinicio de Nginx

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

En primer lugar, asegúrese de que la sintaxis es correcta:

sudo nginx -t

  • sudo nginx -t

Si todo está en orden, debe devolver:

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

Si la prueba falla, localizar y solucionar los problemas.

Una vez que los pases de prueba, reinicie Nginx:

sudo systemctl restart nginx

  • sudo systemctl reinicio nginx

Cuando el servidor se haya reiniciado, visite sus sitios afectados y asegurarse de que están funcionando como se esperaba. Una vez que se sienta cómodo que todo está en orden, no olvide quitar la copia original de los datos:

sudo rm -Rf /var/www/example.com/html

  • sudo rm -rf /var/www/example.com/html

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

Conclusión

En este tutorial, cubierto cómo cambiar la raíz del documento Nginx a una nueva ubicación. Esto le puede ayudar con la administración básica del servidor web, al igual que la gestión eficaz de múltiples sitios en un único servidor. También le permite tomar ventaja de los dispositivos de almacenamiento alternativos tales como la red de almacenamiento de bloques, que pueden ser útiles en la ampliación de un sitio web como su cambio de necesidades.

Si va a administrar un sitio web ocupados o en crecimiento, que podría estar interesado en aprender cómo configurar Nginx con HTTP / 2 para tomar ventaja de su alta velocidad de transferencia de contenido. También puede aprender más acerca de la mejora de la experiencia de producción en esta comparación de cinco maneras de mejorar la configuración de su servidor de aplicaciones Web de producción.