Sincronización de IIS
de 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 una destinación 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 web de Deployment Agent (MsDepSvc o "servicio de agente remoto").
¿Cuáles son las formas de sincronizar con la herramienta de implementación web?
- Inserción (sincronización entre un origen local y un destino remoto)
- Extracción (sincronización entre un origen remoto y 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)
Requisitos previos
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 la Herramienta de implementación web, consulte Instalación de Herramienta de Web Deploy.
Parte 1: Visualización de las dependencias del sitio
Ejecute el comando siguiente para obtener las dependencias del sitio web:
msdeploy -verb:getDependencies -source:apphostconfig="Default Web Site"
Revise la salida de las dependencias y busque los mapas de scripts o los componentes instalados que use el sitio. Por ejemplo, si la autenticación de Windows está en uso por el sitio web, verá <dependency name="WindowsAuthentication" />.
Si el sitio hereda mapas de scripts, estos no aparecerán en las dependencias y también debe revisar manualmente los mapas de scripts del sitio.
Compile una lista de los componentes necesarios en el destino.
Para obtener pasos detallados sobre el análisis de la salida de getDependencies, consulte Visualización de dependencias del sitio web.
Parte 2: Configurar el destino (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
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"
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.
Inicie el servicio en el equipo.
net start msdepsvc
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).
Inserción en destino remoto, que se ejecuta en el equipo de origen (el argumento computerName identifica el equipo de destino remoto).
msdeploy -verb:sync -source:apphostconfig="Default Web Site" -dest:apphostconfig="Default Web Site",computername=Server1 -whatif > msdeploysync.log
Extracción de un origen remoto, que se ejecuta en la máquina de destino (el argumento computerName identifica el equipo de origen remoto).
msdeploy -verb:sync -source:apphostconfig="Default Web Site",computername=Server1 -dest:apphostconfig="Default Web Site" -whatif > msdeploysync.log
Después de comprobar la salida, vuelva a ejecutar el mismo comando sin la marca -whatif:
Inserción en destino remoto, que se ejecuta en la máquina de origen
msdeploy -verb:sync -source:apphostconfig="Default Web Site" -dest:apphostconfig="Default Web Site",computername=Server1 > msdeploysync.log
Extracción de un origen remoto, que se ejecuta 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.
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
Copie el archivo de paquete en el servidor de destino.
Ejecute el comando siguiente 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
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 a explorar al sitio web en el servidor de destino. Para obtener ayuda para solucionar problemas, consulte Solución de problemas de 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.