Apakah Anda menggunakan mesin Linux / BSD? Jika demikian, Anda dapat dengan mudah menggunakan tautan simbolis untuk mencapai tujuan ini.
Buat Versi 1 situs di sini:
/var/www/www.example.org.v1
Buat tautan simbolis yang menunjuk ke direktori ini
cd /var/www
ln -s www.example.com.v1 www.example.com
Ini akan memberi Anda daftar direktori ( ls -la
) yang terlihat seperti ini:
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
Tetapkan server web Anda untuk digunakan /var/www/www.example.com
sebagai root dokumennya. Anda tidak perlu mengubah ini; semua pengarahan ulang akan dilakukan pada level sistem file.
Sekarang, ketika Anda ingin bertukar dalam Versi 2 situs yang harus Anda lakukan adalah menempatkan versi baru di:
/var/www/www.example.org.v2
Dan perbarui tautan simbolis untuk menunjuk ke versi ini:
ln -sfh www.example.com.v2 www.example.com
Yang akan membuat output direktori Anda terlihat seperti ini:
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
Seperti yang Anda lihat, tautan simbolis www.example.com sekarang menunjuk ke Versi 2 situs Anda. Ini adalah operasi atom dan tidak boleh menyebabkan downtime terkait dengan file yang tidak tersedia.
Tentu saja, masih ada kerumitan yang diperlukan dalam memastikan bahwa struktur basis data diperbarui, semua sumber daya statis tersedia (dan ditautkan ke versi yang benar), dll, tetapi setidaknya ini memastikan bahwa semua sumber daya yang tepat untuk situs baru tersedia secara instan.
Windows Vista dan Server 2008 juga mendukung tautan simbolik menggunakan mklink
perintah, meskipun saya tidak punya pengalaman langsung dengan mereka.