MattB memukulnya keluar dari air. +1 Saya akan membalas dengan lebih detail, tetapi saya tidak ingin mengambil poinnya. Saya akan menambahkan apa yang dia katakan.
Saya memiliki pengaturan yang mirip dengan apa yang dia gambarkan, dan itu bekerja dengan baik. ARR adalah cara untuk pergi, bahkan di satu server.
Namun, beberapa hal akan saya tambahkan.
Buat 2 situs, seperti yang disarankan Matt. Sebut mereka sesuatu seperti yoursite.com01 dan yoursite.com02.
Buat 2 aturan penulisan ulang URL. Satu untuk www.domainanda.com dan satu lagi staging.domainanda.com. Untuk produksi, gunakan {HTTP_HOST} dengan nilai (^ www.domainanda.com $) | (yourIP). (atau ikatan apa pun yang Anda inginkan) Untuk pementasan, gunakan {HTTP_HOST} dengan nilai (^ staging.yourdomain.com $). Hubungi aturan yoursite.com dan staging.yoursite.com.
Bind Rule = yoursite.com ke situs = yoursite.com01 dan aturan = staging.yoursite.com ke situs = yoursite.com02.
Setup FTP di staging.yoursite.com.
Lalu lintas produksi sekarang akan menuju Aturan = staging.yoursite.com dan Situs = yoursite.com01. Menguntit sebaliknya.
Anda dapat menggunakan untuk pementasan di titik mana pun, uji, pra-spinup, tes orang lain, dll. Lakukan di siang hari, itu tidak masalah. Sebarkan setiap kali ke akun FTP yang sama. Bekerja sangat baik dengan membangun server.
Kemudian, ketika Anda siap untuk tayang, cukup buat 3 perubahan: - pindahkan pengikatan FTP dari yoursite.com02 ke yoursite.com01 - ubah URL Rewrite Rule yoursite.com untuk mengarah ke yoursite.com02 - ubah pementasan URL Rewrite Rule. yoursite.com untuk menunjuk ke yoursite.com01 Anda
Sekarang Anda memiliki Zero downtime, switching instan, dengan fungsionalitas roll-back langsung!
Satu-satunya hal yang perlu Anda pertimbangkan adalah keadaan sesi Anda di luar proses. Pastikan server negara Anda menerima kedua id situs sehingga Anda tidak kehilangan status sesi selama swap.
Perhatikan juga bahwa ini hanya web dan bukan database.
Untuk skrip, gunakan Editor Konfigurasi. Buat perubahan yang Anda inginkan dan kemudian klik "Hasilkan Script". Ini akan memberi Anda kode C #, appcmd atau AHAdmin.
Saya sudah memiliki ini di tempat selama beberapa bulan dengan ujung halaman web untuk bertukar contoh dan saya tidak pernah melihat ke belakang. Itu membuat penyebaran jadi lebih menyegarkan dibandingkan dengan penyebaran tradisional.