Quando tento iniciar um site no IIS, ele diz:
o processo não pode acessar o arquivo porque ele foi usado por outro processo
Eu pesquisei no Google e descobri que outro site pode estar usando a porta 80, mas no MyIIS eu vejo que apenas este site está usando a porta 80. O que mais poderia estar usando a porta 80 ou há outro problema envolvido?
IIS-W3SVC
e deHttpEvent
origem. Texto do segundo registro de eventos -Unable to bind to the underlying transport for [::]:8080. The IP Listen-Only list may contain a reference to an interface which may not exist on this machine. The data field contains the error number.
. A porta 8080 estava em uso por um serviço Oracle. Mudei a porta usada pelo meu site para 8081.Respostas:
Verifique usando
netstat -aon
ounetstat -aon | findstr 0.0:80
em um prompt de comando para ver qual Id do processo está LISTENING para a porta: 80 e, em seguida, observe o Id do processo (PID) no Gerenciador de tarefas com view-> select columns-> process id marcada. Termine esse processo, reinicie o IIS e pronto. ( Observação: se você tiver o Skype instalado, tente sair desse processo primeiro. )Em um gerenciador de tarefas moderno, você precisa ir na guia Detalhes para pesquisar o PID. Ou, conforme mencionado por @Nikita G nos comentários, você pode usar este comando para localizar a tarefa em seu prompt de comando:
Nota: alteração
123
com o PID retornado do primeiro comando.fonte
netstat -aon | findstr 0.0:80
. E, em seguida, assumindo que os retornos PID 123, execute o seguinte para ver qual processo que é:tasklist /FI "PID eq 123"
.OracleServiceXE
serviço que consumiu a porta 8080, à qual o novo site em meu servidor IIIS estava tentando se conectar.Isso está acontecendo porque um processo diferente está usando a porta 80, pode ser um aplicativo de bate-papo no seu PC como o Skype.
Primeiro, altere a porta padrão do site, que era 80, para alguma porta não utilizada (por exemplo, 8087). Para isso, clique com o botão direito do mouse no aplicativo e clique em 'Editar Vinculação'.
Após esta mudança de porta, reinicie novamente. Agora você pode identificar qual processo está bloqueando a porta 80 do IIS. Para verificar isso, use o comando netstat, que exibe os detalhes da porta junto com a ID do processo.
fonte
Saia do Skype e tente novamente. Eu tive o mesmo problema e acabei de sair do Skype e redefinir meu IIS. Funcionou para mim
fonte
Você também pode executar esse comando para descobrir qual aplicativo ou serviço está usando a porta e, em seguida, rastreá-lo no gerenciador de tarefas (desde que não seja o serviço Web Deploy Agent).
netstat -o -n -a | findstr 0.0: 80
Em seguida, abra o Gerenciador de tarefas, vá para Processos, clique na caixa de seleção "Mostrar processos para todos os usuários" e clique no menu Exibir e vá para as colunas, adicione a coluna PID.
Corresponda a identificação do processo do comando netstat ao PID no gerenciador de tarefas e você encontrará o serviço ou aplicativo que está usando a porta.
fonte
tasklist /FI "PID eq <PID from netstat (without brackets)>"
.Como já foi dito, outra coisa pode estar usando a porta 80 ou 443. Era VMWare Workstation Server para mim, mas verifique outras respostas para saber como usar o netstat.
fonte
netstat
para verificar a porta 80 e nada apareceu. Então você mencionou a porta 443 e aí estava.Acho que este link fornece uma boa explicação e correção para o problema http://support.microsoft.com/KB/890015
A maior parte do tempo; é causado por um dos dois motivos: 1) a porta 80 está sendo usada por outra coisa e, conforme sugerido por outros, você pode usar netstat -o -n -a | findstr 0.0: 80 para ver se é esse o caso. Se sim, elimine o processo do gerenciador de tarefas (marque para mostrar os processos de todos os usuários)
2) se a porta 80 não for usada, a segunda causa é potencialmente um endereço IP inválido no ListenOnlyList arquivado na chave de registro de HTTP-> Parâmetros. Se você seguir o link para definir a chave manualmente ou na verdade, você pode usar (xp e server 2003)
httpcfg delete iplisten -i ipaddress
para excluir o endereço IP inválido. Você deve reiniciar o http depois de editar o endereço ip!fonte
No meu caso, foi o " Serviço de compartilhamento de sincronização " (SyncShareSvc) que estava rodando e usando a porta 80. O netstat mostrou 80 como livre, no entanto. Eu poderia fazer com que o site fosse executado em outra porta, mas não 80. se eu adicionasse um nome de host, o IIS me permitiria iniciar o site, mas seria solicitada a autenticação Digest ao navegar para localhost (ou qualquer nome de host. adicionado). Apenas Anonymous e Forms Auth foram habilitados no IIS ...
Também descobri que, depois de parar o IIS,
http://localhost
ainda me solicitava a autenticação Digest.A solução - no meu caso - foi remover Serviços de arquivo e armazenamento> Serviços de arquivos e iSCSI> " Pastas de trabalho " dos serviços instalados (reinicialização necessária).
Depois de remover o serviço "Pastas de trabalho" e reiniciado, o IIS funcionou conforme o esperado.
fonte
Meu caso foi depois de instalar o RD Web Access, os sites padrão originais não puderam ser iniciados. Removida a função RD Web Access ainda a mesma. A vinculação da porta 443 removida resolveu o problema.
fonte
Na maioria das vezes quando isso acontece por desenvolvedores web é o motivo do apache, então se você for ao arquivo de configuração do apache! abra e pesquise com ctrl + f para 80 e mude o ip que você vai ver para 8080 e a frase embaixo dela com 80 para 8080 e você precisa configurar isso no seu xampp, ou no programa que você está usando atualmente
Espero que eu possa ajudar vocês
fonte
Para obter informações mais significativas, uma maneira é também obter informações de propriedade ao emitir,
netstat
para que você saiba o processo que está usando 80 (ligação http padrão) ou 443 (se a ligação https for definida):No meu caso, o culpado foi o vmware:
O netstat pode ser canalizado em find para pesquisar as portas 80 ou 443 (por exemplo
find ":443"
), mas essas conexões ativas em particular serão mostradas no início da lista quando forem fáceis de ver.fonte