quinta-feira, 31 de março de 2011

Sincronização automática entre servidores IIS.

A sincronização entre servidores utilizando o IIS 7 é uma boa prática no ambiente de manutenção e desenvolvimento web pois garante a redundância entre os servidores em caso de um eventual problema em um dos servidores.

A sincronização é importante porque qualquer tipo de alteração no ambiente, tanto nos arquivos (criar, alterar, deletar, renomear, inclusive nas linhas de código) e pastas, sites, diretórios virtuais, pool de aplicativos da intranet, a replicação é realizada para os demais servidores.

Há quatro maneiras de sincronização:
1. Enviar a partir de uma fonte local para o destino.
2. Receber a partir de uma fonte remota para o destino local.
3. Independente, onde ambos estão remotos.
4. Manual Local, onde de cria um pacote da fonte e copiando-o para o destino, executando-o localmente em seguida.

Há duas formas de configurar uma sincronização entre dois IIS rodando em servidores distintos: 
1. Manualmente 
2. Automática.

Nesse artigo será feito de forma automática por ser a mais prática e melhor gerenciável utilizando o Windows Server 2008 x86 e o IIS 7.

Etapas a seguir:
1. Download e instalação da Web Deployment Tool (Ferramenta de Implantação Web) em ambos os servidores.
2. Iniciar os serviços em ambos os servidores.
3. Criar script de sincronização (apenas no servidor de origem).
4. Criar no Agendador de Tarefas do servidor IIS a execução do script de sincronização (apenas no servidor de origem).

IMPORTANTE: Em ambos os servidores deverão estar armazenados os mesmos arquivos no diretório wwwroot.

1ª Etapa - Download e instalação.
1. Download do Web Deployment Tool no link http://www.iis.net/download/webdeploy.
2. Instalação do aplicativo.
Após a instalação, é criado a pasta IIS em Arquivos de Programas.

2ª Etapa - Iniciar os serviços.
1. Em Serviços do Windows Server 2008 iniciar o Gerenciador de conexão de acesso remoto automático.



2. Também em serviços iniciar o Serviço do Agente de Implantação Web.


3ª Etapa - Criar script de sincronização.
1. Após a instalação do Web Deployment Tool, como dito na etapa 1, é criado automáticamente a pasta IIS. Nela há uma pasta chamada Microsoft Web Deploy V2. Dentro do Script há o caminho onde está o aplicativo.

Digite o código no script: msdeploy -verb:sync -source:apphostconfig="Default web site",computername=servidor de origem -dest:apphostconfig="Default web site".

Salve-o o script de preferência num local de fácil acesso, como no diretório wwwroot. 


 4. Criar uma tarefa automática no Agendador de Tarefas.
1. Vá em Iniciar > Ferramentas administrativas > Agendador de Tarefas.


2. Criar tarefa.


3. Selecionar Ações, colocar script para a nova tarefa.


4. Configurar Disparadores, configurar horário para executar o script.


Um comentário:

renatomrv disse...

Boa noite,
Caso eu queira sincronizar N sites ao mesmo tempo, qual seria a alteração que eu devo fazer no script?

Att.,

Renato Souza