Condividi tramite


Sincronizzare i siti Web IIS 6.0

per fede A

Questa guida introduttiva illustra il processo di utilizzo dello strumento di distribuzione Web per sincronizzare un sito Web in un computer di origine IIS 6.0 in un computer di destinazione IIS 6.0. È possibile eseguire questa operazione eseguendo il push dei dati in una destinazione remota o eseguendo il pull dei dati da un'origine remota. Questa guida mostrerà entrambi i metodi, nonché un'opzione per usare un file di pacchetto in modo che non sia necessario installare il servizio Web Deployment Agent (MsDepSvc o "servizio agente remoto".

Quali sono i modi in cui è possibile sincronizzare usando lo strumento di distribuzione Web?

  • Push (sincronizzazione da un'origine locale a una destinazione remota)
  • Pull (sincronizzazione da un'origine remota a una destinazione locale)
  • Sincronizzazione indipendente (avviare una sincronizzazione da un computer in cui sia la destinazione che l'origine sono remote)
  • Sincronizzazione locale manuale (creare un file di pacchetto dell'origine e copiarlo nella destinazione, quindi eseguirlo in locale)

Prerequisiti

Questa guida richiede i prerequisiti seguenti:

  • .NET Framework 2.0 SP1 o versione successiva
  • Strumento di distribuzione Web 1,1

Nota: se non è già stato installato lo strumento di distribuzione Web, vedere .

Parte 1 - Visualizzare le dipendenze del sito

  1. Ottenere le dipendenze del sito Web eseguendo il comando seguente:

    msdeploy -verb:getDependencies -source:metakey=lm/w3svc/1
    
  2. Esaminare l'output delle dipendenze e cercare eventuali mappe script o componenti installati usati dal sito. Ad esempio, se l'autenticazione di Windows è in uso dal sito Web, verrà visualizzato <il nome di dipendenza="WindowsAuthentication" />.

  3. Se il sito eredita eventuali mappe script, queste non verranno elencate nelle dipendenze e si dovrebbe anche esaminare manualmente le mappe script per il sito.

  4. Compilare un elenco dei componenti necessari nella destinazione.

Per informazioni dettagliate sull'analisi dell'output di getDependencies, vedere .

Parte 2 - Configurare la destinazione (destinazione)

  1. Esaminare l'elenco delle dipendenze e installarle nel server di destinazione. Si supponga, ad esempio, di avere il codice seguente in uso per il sito Web:

    • ASP.NET
    • Autenticazione di Windows
    • Autenticazione anonima

    In base a questa analisi delle dipendenze, è necessario installare i componenti corrispondenti nel server di destinazione prima di eseguire la sincronizzazione.

Parte 3: sincronizzare il sito nella destinazione

  1. Eseguire sempre un backup dei server di destinazione e di origine. Anche se si esegue solo il test, consente di ripristinare facilmente lo stato del server.

    iisback /backup /b PreWebDeploy
    
  2. Installare il servizio remoto nell'origine o nella destinazione a seconda di se si desidera "eseguire il pull" dei dati da un'origine remota o "eseguire il push" dei dati in una destinazione remota.

  3. Avviare il servizio sul server.

    net start msdepsvc
    
  4. Eseguire il comando seguente per convalidare ciò che accadrebbe se la sincronizzazione fosse stata eseguita. Il flag -whatif non mostrerà ogni modifica; mostrerà solo una visione ottimistica di ciò che potrebbe cambiare se tutto ha esito positivo (ad esempio, non rileva errori in cui non è possibile scrivere nella destinazione).

    • Push in destinazione remota, in esecuzione nel computer di origine (l'argomento computerName identifica il computer di destinazione remoto).

      msdeploy -verb:sync -source:metakey=lm/w3svc/1 -dest:metakey=lm/w3svc/1,computername=Server1 -whatif > msdeploysync.log
      
    • Il pull da un'origine remota, in esecuzione nel computer di destinazione (l'argomento computerName identifica il computer di origine remota).

      msdeploy -verb:sync -source:metakey=lm/w3svc/1,computername=Server1 -dest:metakey=lm/w3svc/1 -whatif > msdeploysync.log
      
  5. Dopo aver verificato l'output, eseguire di nuovo lo stesso comando senza il flag -whatif :

    • Push a destinazione remota, in esecuzione nel computer di origine

      msdeploy -verb:sync -source:metakey=lm/w3svc/1 -dest:metakey=lm/w3svc/1,computername=Server1 > msdeploysync.log
      
    • Pull da un'origine remota, in esecuzione nel computer di destinazione

      msdeploy -verb:sync -source:metakey=lm/w3svc/1,computername=Server1 -dest:metakey=lm/w3svc/1 > msdeploysync.log
      

{Facoltativo - Sincronizzare il sito alla destinazione usando un file di pacchetto}

Se non si vuole usare il servizio remoto, è possibile usare invece un pacchetto (file compresso).

  1. Eseguire il comando seguente nel server di destinazione per creare un pacchetto dell'origine del sito Web:

    msdeploy -verb:sync  -source:metakey=lm/w3svc/1 -dest:package=c:\Site1.zip
    
  2. Copiare il file del pacchetto nel server di destinazione.

  3. Eseguire il comando seguente nel server di destinazione per convalidare ciò che accade se la sincronizzazione è stata eseguita:

    msdeploy -verb:sync -source:package=c:\Site1.zip -dest:metakey=lm/w3svc/1 -whatif > msdeploysync.log
    
  4. Dopo aver verificato l'output, eseguire di nuovo lo stesso comando senza il flag whatif:

    msdeploy -verb:sync -source:package=c:\Site1.zip -dest:metakey=lm/w3svc/1 > msdeploysync.log
    

È ora possibile sincronizzare il sito. Per verificare, testare l'esplorazione del sito Web nel server di destinazione. Per la risoluzione dei problemi, vedere .

Riepilogo

È stato sincronizzato un sito Web da un server IIS 6.0 di origine a un server IIS 6.0 di destinazione visualizzando le dipendenze, configurando il server IIS 6.0 di destinazione e usando il servizio Web Deployment Agent o un file di pacchetto.