msdeploy problemas de sincronização

1

Eu tenho 4 servidores Windows 2008 R2. 3 são servidores web do IIS 7.5 e 1 é um servidor de arquivos compartilhados / servidor sql. Eu configurei o primeiro servidor web exatamente como eu queria, então usei este comando msdeploy para sincronizar a configuração com os outros 2 servidores web.

msdeploy -verb:sync -source:webserver,computername=http://www1.server.com:8080/MSDeploy -dest:webserver,computername=http://www2.server.com:8080/MSDeploy
msdeploy -verb:sync -source:webserver,computername=http://www1.server.com:8080/MSDeploy -dest:webserver,computername=http://www3.server.com:8080/MSDeploy

Isso fez com que a configuração fosse enviada para os outros servidores da web. Eles funcionam, mas não conseguem se conectar aos diretórios virtuais que eu configurei. Se eu executar a sincronização uma segunda vez, você pode ver que ela diz que está ignorando os diretórios virtuais (mesmo que ele realmente os crie na máquina de destino)

Info: Using ID 'd9baab2a-4798-4760-8e09-24558cf6edd4' for connections to the remote server.
Info: Using ID 'e5389a2a-6925-425a-8d2c-fa8d8ae00727' for connections to the remote server.
Warning: Skipping source dirPath (\server\Upload) because of rule SkipInvalidSource.
Could not find directory '\server\Upload'.
Warning: Skipping source dirPath (\server\FileSystem) because of rule SkipInvalidSource.
Could not find directory '\server\FileSystem'.
Warning: Skipping source dirPath (\server\Configuration) because of rule SkipInvalidSource.
Could not find directory '\server\Configuration'.
Warning: Skipping source dirPath (\server\SharedContent) because of rule SkipInvalidSource.
Could not find directory '\server\SharedContent'.
Info: Object configProtectedData (MSDeploy.webServer/webServer/appHostConfig[@path='']/location[@path='']/section[@name='configProtectedData']/configProtectedData) skipped due to skip directive 'ConfigProtectedData'.
Info: Object configProtectedData (MSDeploy.webServer/webServer/machineConfig32[@path='/']/location[@path='']/configProtectedData) skipped due to skip directive 'ConfigProtectedData'.
Info: Object configProtectedData (MSDeploy.webServer/webServer/machineConfig64[@path='/']/location[@path='']/configProtectedData) skipped due to skip directive 'ConfigProtectedData'.
Info: Using ID '231d358c-292f-435d-8026-3158d8ed5c6b' for connections to the remote server.
Warning: Skipping source dirPath (\server\Upload) because of rule SkipInvalidSource.
Could not find directory '\serverl\Upload'.
Warning: Skipping source dirPath (\server\FileSystem) because of rule SkipInvalidSource.
Could not find directory '\serverl\FileSystem'.
Warning: Skipping source dirPath (\server\Configuration) because of rule SkipInvalidSource.
Could not find directory '\server\Configuration'.
Warning: Skipping source dirPath (\server\SharedContent) because of rule SkipInvalidSource.
Could not find directory '\server\SharedContent'.
Info: Object configProtectedData (MSDeploy.webServer/webServer/appHostConfig[@path='']/location[@path='']/section[@name='configProtectedData']/configProtectedData) skipped due to skip directive 'ConfigProtectedData'.
Info: Object configProtectedData (MSDeploy.webServer/webServer/machineConfig32[@path='/']/location[@path='']/configProtectedData) skipped due to skip directive 'ConfigProtectedData'.
Info: Object configProtectedData (MSDeploy.webServer/webServer/machineConfig64[@path='/']/location[@path='']/configProtectedData) skipped due to skip directive 'ConfigProtectedData'.
Total changes: 0 (0 added, 0 deleted, 0 updated, 0 parameters changed, 0 bytes copied)

Eu preciso dos outros dois servidores para que eles possam se conectar aos diretórios virtuais. Eu tentei redigitar as credenciais para o diretório virtual, excluindo o diretório virtual e configurando-o manualmente, excluindo o site inteiro e configurando-o manualmente. Todas essas coisas falham. É quase como o msdeploy quebrou minha instalação do IIS. Eu executei uma comparação no diretório do site nos sistemas e eles são idênticos. Eu comparei c: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config e eles são idênticos com a exceção das senhas em hash para os diretórios virtuais.

As instalações do IIS dizem que eles têm os mesmos serviços de função instalados.

A maior pista que tenho para resolver isso é o log de erros do aplicativo. Os dois servidores que não estão funcionando lançam essa mensagem de aviso quando compilam o site. Está procurando um web.config no diretório virtual. Isso me leva a acreditar que o diretório virtual é realmente um aplicativo. Em nenhum lugar eu vejo isso nas configurações.

Event code: 3008 
Event message: A configuration error has occurred. 
Event time: 1/21/2013 4:28:46 PM 
Event time (UTC): 1/21/2013 9:28:46 PM 
Event ID: 036c3591338f4f84aaac84e68c4f7753 
Event sequence: 35 
Event occurrence: 1 
Event detail code: 0 

Application information: 
    Application domain: /LM/W3SVC/1/ROOT-2-130032773103912852 
    Trust level: Full 
    Application Virtual Path: / 
    Application Path: D:\sites\server.com\ 
    Machine name: S615516NJ3VW02 

Process information: 
    Process ID: 4136 
    Process name: w3wp.exe 
    Account name: IIS APPPOOL\server.com 

Exception information: 
    Exception type: ConfigurationErrorsException 
    Exception message: An error occurred loading a configuration file: Failed to start monitoring changes to '\server\Upload' because access is denied. (\server\Upload\web.config) 

Request information: 
    Request URL: http://www2.server.com/Upload/Flash/history.swf 
    Request path: /Upload/Flash/history.swf 
    User host address: xxx.xxx.xx.35 
    User:  
    Is authenticated: False 
    Authentication Type:  
    Thread account name: IIS APPPOOL\server.com 

Thread information: 
    Thread ID: 6 
    Thread account name: IIS APPPOOL\server.com 
    Is impersonating: False 
    Stack trace:    at System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean ignoreLocal)
   at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject)
   at System.Configuration.BaseConfigurationRecord.GetSection(String configKey, Boolean getLkg, Boolean checkPermission)
   at System.Configuration.BaseConfigurationRecord.GetSection(String configKey)
   at System.Web.Configuration.RuntimeConfig.GetSectionObject(String sectionName)
   at System.Web.Configuration.RuntimeConfig.GetSection(String sectionName, Type type, ResultsIndex index)
   at System.Web.Configuration.RuntimeConfig.get_Identity()
   at System.Web.HttpContext.SetImpersonationEnabled()
   at System.Web.HttpApplication.AssignContext(HttpContext context)
   at System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context)

Obrigado pela sua ajuda para resolver este problema.

    
por user155455 22.01.2013 / 00:55

2 respostas

0

Eu consertei isso sozinho. MSDeploy totalmente estragou a instalação do IIS alvo. Eu corri comparações de arquivos e tudo era idêntico entre a origem e o destino, mas eu ainda estava tendo o problema. Eu desinstalei e reinstalei o IIS. Isso fez o IIS funcionar novamente. Então eu encontrei o artigo abaixo sobre a opção -disableLink. -disableLink: ContentExtension diz para não sincronizar diretórios virtuais. Esse switch ganha o prêmio "não óbvio" ...

link

    
por 22.01.2013 / 16:29
0

Meu caso talvez seja mais simples: coloquei o comando msdeploy na janela errada do RDP e o aplicativo tentou transferir dados para si mesmo.

É sexta-feira difícil da semana difícil.

    
por 11.03.2016 / 19:07