Sincronizar dois servidores IIS com PHP
Este artigo irá guiá-lo através do processo de utilização de Web Deploy para sincronizar um IIS 7 ou todo servidor da Web acima que tem o PHP instalado para outro servidor IIS 7 ou superior.
Objetivo do artigo: Para sincronizar um servidor da Web do IIS que tem o PHP instalado para outro servidor IIS.
PARTE 1 – VISUALIZAÇÃO DE DEPENDÊNCIAS DA FONTE
1. Receba as dependências do site, executando o seguinte comando:
msdeploy verbo: getDependencies fonte: WebServer
2. Reveja a saída das dependências e procurar por mapas de script ou componentes instalados que estão em uso pelo site.
Nota: Na maioria dos casos, o Windows Server 2008, o PHP é instalado usando o built-in módulo FastCGI, para a verificação de dependência irá mostrar CGI como uma dependência, não PHP.
3. Compilar uma lista dos componentes necessários no destino. Para etapas detalhadas sobre a analisar a saída de getDependencies, consulte Dependências Visualizando .
PARTE 2 – CONFIGURE O COMPUTADOR DE DESTINO OU DESTINO
1. Reveja a lista de dependências e instalá-los no servidor de destino. Por exemplo, vamos supor que você teve o seguinte em uso para o seu site: • CGI (FastCGI com PHP). Com base nessa análise de suas dependências, você deve instalar esses componentes no servidor de destino. Porque o PHP pode ser instalado simplesmente copiando os arquivos, vamos adicionar um manifesto personalizado que também copia a pasta do PHP.
PARTE 3 – CRIAR UM MANIFESTO PERSONALIZADO
Criar o manifesto seguinte, assumindo que o seu local de instalação do PHP é c: \ php (substituir com o seu diretório de instalação real): <serverManifest> <webServer /> <dirpath path=”c:\php” /> <ServerManifest /> Salvar comoServerManifest.xml. Para maior comodidade, você pode salvá-lo para o “% systemdrive% \ Arquivos de Programas \ Microsoft Web Deploy” do diretório, ou para um diretório de sua escolha. Você deve salvá-lo tanto para computadores de origem e de destino.
PARTE 4 – SINCRONIZE O SERVIDOR DE ORIGEM PARA O SERVIDOR DE DESTINO
Sincronize usando um arquivo de pacote:
1. Sempre faça um backup do servidor de destino. Mesmo se você está apenas testando, ele permite que você facilmente restaurar o estado do seu servidor. Execute o seguinte comando para fazer backup de um servidor IIS:
% Windir% \ system32 \ inetsrv \ appcmd adicionar “PreMsDeploy” backup
2. Execute o seguinte comando no servidor de origem para criar um pacote (arquivo compactado) do servidor:
msdeploy verbo: sync-source: = servermanifest.xml manifestar-dest: pacote = c: \ WebServer.zip
3. Execute o seguinte comando no servidor de destino para validar o que aconteceria se uma sincronização foram executados:
msdeploy verbo: sync-source: pacote = c: \ WebServer.zip-dest: = servermanifest.xml manifestar-whatif> msdeploysync.log
4. Após verificar o resultado, executar o mesmo comando novamente sem a bandeira whatif-:
msdeploy verbo: sync-source: pacote = c: \ WebServer.zip-dest: = manifestar servermanifest.xml> msdeploysync.log
Sincronizar usando o serviço remoto:
Se você não quer sincronizar a partir de um pacote, você pode sincronizar usando o Web Service Deployment Agent (MsDepSvc, também chamada de “serviço remoto”) Certifique-se de que o serviço é iniciado no computador de destino executando o comando.:
net start msdepsvc
2. Execute o seguinte comando no servidor de origem. Use o argumento computerName para especificar o nome de um servidor remoto (por exemplo, DestServer1). Se a fonte for um servidor remoto, você deve alterar o argumento de fonte para fonte: Manifesto = servermanifest.xml, computerName = Server1.
msdeploy verbo: sync-source: = servermanifest.xml manifestar-dest: = manifestar servermanifest.xml, computerName = DestServer1-whatif> msdeploysync.log
3. Após verificar o resultado, executar o mesmo comando novamente sem a bandeira whatif:
msdeploy verbo: sync-source: = servermanifest.xml manifestar-dest: = manifestar servermanifest.xml, computerName = DestServer1> msdeploysync.log