Sincronizar IIS

por Faith A

Esta guía rápida le guiará a través del proceso de uso de la herramienta de implementación web para sincronizar un sitio web en un equipo de origen de IIS con un equipo de destino de IIS. Para ello, puede "insertar" datos en un destino remoto o "extraer" datos de un origen remoto. Esta guía mostrará ambos métodos, así como una opción para usar un archivo de paquete para que no tenga que instalar el servicio agente de implementación web (MsDepSvc o "servicio de agente remoto").

¿Cuáles son las formas de sincronizarcon la herramienta de implementación web?

  • Subida (sincronizar desde un origen local a un destino remoto)
  • Pull (sincronizar desde una fuente remota a un destino local)
  • Sincronización independiente (iniciar una sincronización desde un equipo donde tanto el destino como el origen son remotos)
  • Sincronización local manual (cree un archivo de paquete del origen y cópielo en el destino y, a continuación, ejecútelo localmente).

Prerrequisitos

Esta guía requiere los siguientes requisitos previos:

  • .NET Framework 2.0 SP1 o superior
  • Herramienta de implementación web 1.1

Nota: Si aún no ha instalado Web Deploy, consulte .

Parte 1: Visualización de las dependencias del sitio

  1. Ejecute el comando siguiente para obtener las dependencias del sitio web:

    msdeploy -verb:getDependencies -source:apphostconfig="Default Web Site"
    
  2. Revise la salida de las dependencias y busque los mapeos de scripts o los componentes instalados que utilice el sitio. Por ejemplo, si la autenticación de Windows está en uso por parte del sitio web, verá <dependency name="WindowsAuthentication" />.

  3. Si su sitio está heredando mapas de secuencias de comandos, estos no aparecerán en las dependencias y también debe revisar manualmente los mapas de secuencias de comandos de su sitio.

  4. Compile una lista de los componentes necesarios en el destino.

Para obtener pasos detallados sobre el análisis de la salida de getDependencies, consulte .

Parte 2: Configurar el objetivo (destino)

Revise la lista de dependencias e instálelas en el servidor de destino. Por ejemplo, supongamos que tiene lo siguiente en uso para el sitio web:

  • ASP.NET
  • Autenticación de Windows
  • Autenticación anónima

En función del análisis de las dependencias, instalaría esos componentes en el servidor de destino antes de realizar la sincronización.

Parte 3: Sincronizar el sitio con el destino

  1. Realice siempre una copia de seguridad de los servidores de destino y de origen. Incluso si solo está probando, le permite restaurar fácilmente el estado del servidor. Ejecute el siguiente comando para realizar una copia de seguridad de un servidor IIS 7 o superior:

    %windir%\system32\inetsrv\appcmd add backup "PreMsDeploy"
    
  2. Instale el servicio de agente remoto en el origen o el destino en función de si desea "extraer" los datos de un origen remoto o "insertar" los datos en un destino remoto.

  3. Inicie el servicio en el ordenador.

    net start msdepsvc
    
  4. Ejecute el comando siguiente para validar lo que sucedería si se ejecutara la sincronización. La marca -whatif no mostrará todos los cambios; simplemente mostrará una vista optimista de lo que podría cambiar si todo se realiza correctamente (por ejemplo, no detectará errores en los que no se puede escribir en el destino).

    • Transferencia al destino remoto desde el equipo de origen (el argumento computerName identifica el equipo remoto de destino).

      msdeploy -verb:sync -source:apphostconfig="Default Web Site" -dest:apphostconfig="Default Web Site",computername=Server1 -whatif > msdeploysync.log
      
    • Extraer de un origen remoto y ejecutar en la máquina de destino (el argumento computerName identifica la fuente remota).

      msdeploy -verb:sync -source:apphostconfig="Default Web Site",computername=Server1 -dest:apphostconfig="Default Web Site" -whatif > msdeploysync.log
      
  5. Después de comprobar la salida, vuelva a ejecutar el mismo comando sin la marca -whatif :

    • Realizando un push al destino remoto desde la máquina de origen.

      msdeploy -verb:sync -source:apphostconfig="Default Web Site" -dest:apphostconfig="Default Web Site",computername=Server1 > msdeploysync.log
      
    • Extracción desde una fuente remota, ejecutándose en la máquina de destino

      msdeploy -verb:sync -source:apphostconfig="Default Web Site",computername=Server1 -dest:apphostconfig="Default Web Site" > msdeploysync.log
      

{Opcional: sincronizar el sitio con el destino mediante un archivo de paquete}

Si no desea usar el servicio remoto, puede usar un paquete (archivo comprimido) en su lugar.

  1. Ejecute el siguiente comando en el servidor de origen para crear un paquete del sitio web para la sincronización:

    msdeploy -verb:sync  -source:apphostconfig="Default Web Site" -dest:package=c:\site1.zip
    
  2. Copie el archivo de paquete en el servidor de destino.

  3. Ejecute el siguiente comando en el servidor de destino para validar lo que sucedería si se ejecutara la sincronización:

    msdeploy -verb:sync -source:package=c:\site1.zip -dest:apphostconfig="Default Web Site" -whatif > msdeploysync.log
    
  4. Después de comprobar la salida, vuelva a ejecutar el mismo comando sin la marca -whatif:

    msdeploy -verb:sync -source:package=c:\site1.zip -dest:apphostconfig="Default Web Site" > msdeploysync.log
    

Ya ha terminado de sincronizar el sitio. Para comprobarlo, pruebe la exploración al sitio web en el servidor de destino. Para obtener ayuda para la solución de problemas, consulte Web Deploy.

Resumen

Ahora ha sincronizado un sitio web desde un servidor IIS de origen a un servidor IIS de destino, incluida la visualización de las dependencias, la configuración del servidor IIS de destino y la sincronización.