MattB ударил его из воды. +1 Я отвечу более подробно, но я не собираюсь брать его очки. Я добавлю к тому, что он сказал.
У меня есть настройка, аналогичная описанной, и она прекрасно работает. ARR - это путь, даже на одном сервере.
Однако пару вещей я бы добавил.
Создайте 2 сайта, как рекомендует Мэтт. Назовите их как yoursite.com01 и yoursite.com02.
Создайте 2 правила перезаписи URL. Один для www.yourdomain.com и еще один staging.yourdomain.com. Для производства используйте {HTTP_HOST} со значением (^ www.yourdomain.com $) | (yourIP). (или любую другую привязку, которую вы предпочитаете). Для подготовки используйте {HTTP_HOST} со значением (^ staging.yourdomain.com $). Назовите правила yoursite.com и staging.yoursite.com.
Свяжите Rule = yoursite.com с site = yoursite.com01 и rule = staging.yoursite.com с site = yoursite.com02.
Настройте FTP на staging.yoursite.com.
Производственный трафик теперь идет к Rule = staging.yoursite.com и Site = yoursite.com01. Поступая в противоположность.
Вы можете развернуться в любой точке, выполнить тестирование, предварительную раскрутку, провести тестирование других людей и т. Д. Делать это в течение дня, это не имеет значения. Развертывание на одну и ту же учетную запись FTP каждый раз. Отлично работает с серверами сборки.
Затем, когда вы будете готовы к запуску, просто внесите 3 изменения: - переместите привязку FTP с yoursite.com02 на yoursite.com01 - измените правило перезаписи URL yoursite.com, чтобы он указывал на yoursite.com02 - измените постановку правила перезаписи URL. yoursite.com, чтобы указать на yoursite.com01
Теперь у вас нулевое время простоя, мгновенное переключение и возможность немедленного отката!
Единственное, что нужно учесть - это состояние сеанса вне процесса. Убедитесь, что ваш сервер состояний принимает оба идентификатора сайта, чтобы вы не теряли состояние сеанса во время обмена.
Также обратите внимание, что это только веб, а не база данных.
Для сценариев используйте редактор конфигурации. Внесите необходимые изменения и нажмите «Создать скрипт». Это даст вам код C #, appcmd или AHAdmin.
У меня это было в течение нескольких месяцев с веб-страницей для обмена экземплярами, и я никогда не оглядываюсь назад. Это делает развертывание таким освежающим по сравнению с традиционными развертываниями.