MattB l'a frappé hors de l'eau. +1 Je répondrai avec plus de détails mais je ne cherche pas à prendre ses points. J'ajouterai à ce qu'il a dit.
J'ai une configuration similaire à ce qu'il a décrit, et cela fonctionne très bien. ARR est le chemin à parcourir, même sur un seul serveur.
Cependant, je voudrais ajouter deux ou trois choses.
Créez les 2 sites, comme Matt l'a recommandé. Appelez-les quelque chose comme yoursite.com01 et yoursite.com02.
Créez 2 règles de réécriture d'URL. Un pour www.votredomaine.com et un autre pour staging.votredomaine.com. Pour la production, utilisez {HTTP_HOST} avec une valeur de (^ www.votredomaine.com $) | (votreIP). (ou la liaison que vous préférez) Pour le transfert, utilisez {HTTP_HOST} avec une valeur de (^ staging.votredomaine.com $). Appelez les règles yoursite.com et staging.yoursite.com.
Liez Rule = yoursite.com à site = yoursite.com01 et rule = staging.yoursite.com à site = yoursite.com02.
Configurez FTP sur staging.votresite.com.
Le trafic de production est désormais dirigé vers Rule = staging.yoursite.com et Site = yoursite.com01. Remuant à l'opposé.
Vous pouvez déployer à tout moment la mise en scène, tester, effectuer une pré-rotation, faire tester d'autres personnes, etc. Faites-le pendant la journée, peu importe. Déployez à chaque fois sur le même compte FTP. Fonctionne très bien avec les serveurs de build.
Ensuite, lorsque vous êtes prêt à mettre en ligne, effectuez simplement 3 modifications: - déplacez la liaison FTP de yoursite.com02 vers yoursite.com01 - modifiez la règle de réécriture d'URL yoursite.com pour pointer vers yoursite.com02 - modifiez le transfert de la règle de réécriture d'URL. yoursite.com pour pointer vers yoursite.com01
Maintenant, vous avez zéro temps d'arrêt, une commutation instantanée, avec une fonctionnalité de restauration immédiate!
Votre seul problème à considérer est votre état de session hors processus. Assurez-vous que votre serveur d'état accepte les deux identifiants de site afin de ne pas perdre l'état de la session pendant l'échange.
Notez également qu'il s'agit uniquement du Web et non d'une base de données.
Pour les scripts, utilisez l'éditeur de configuration. Apportez les modifications souhaitées, puis cliquez sur "Générer le script". Il vous donnera le code C #, appcmd ou AHAdmin.
Je l'ai depuis quelques mois avec un frontal de page Web pour permuter les instances et je ne regarde jamais en arrière. Il rend les déploiements si rafraîchissants par rapport aux déploiements traditionnels.