¿Estás en una máquina Linux / BSD? Si es así, puede usar fácilmente enlaces simbólicos para lograr este objetivo.
Cree la Versión 1 del sitio aquí:
/var/www/www.example.org.v1
Cree un enlace simbólico que apunte a este directorio
cd /var/www
ln -s www.example.com.v1 www.example.com
Esto debería darle una lista de directorio ( ls -la
) que se parece a esto:
lrwxr-xr-x 1 userid users 18 Aug 3 03:35 www.example.com -> www.example.com.v1
drwxr-xr-x 2 userid users 512 Aug 3 03:35 www.example.com.v1
Configure su servidor web para usarlo /var/www/www.example.com
como raíz del documento. Nunca tendrás que cambiar esto; Todos los cambios de orientación se realizarán a nivel del sistema de archivos.
Ahora, cuando desee intercambiar en la Versión 2 del sitio, todo lo que tiene que hacer es colocar la nueva versión en:
/var/www/www.example.org.v2
Y actualice el enlace simbólico para apuntar a esta versión:
ln -sfh www.example.com.v2 www.example.com
Lo que dejará la salida de su directorio con el siguiente aspecto:
lrwxr-xr-x 1 userid users 18 Aug 3 03:43 www.example.com -> www.example.com.v2
drwxr-xr-x 2 userid users 512 Aug 3 03:42 www.example.com.v1
drwxr-xr-x 2 userid users 512 Aug 3 03:41 www.example.com.v2
Como puede ver, el enlace simbólico www.example.com ahora apunta a la Versión 2 de su sitio. Esta es una operación atómica y no debe causar ningún tiempo de inactividad relacionado con la falta de disponibilidad de archivos.
Por supuesto, todavía se requiere una complejidad considerable para garantizar que las estructuras de la base de datos se actualicen, que los recursos estáticos estén disponibles (y estén vinculados a la versión correcta), etc., pero al menos esto se asegura de que todos los recursos correctos para el El nuevo sitio está disponible al instante.
Windows Vista y Server 2008 también admiten enlaces simbólicos con el mklink
comando, aunque no tengo experiencia directa con ellos.