IIS'de site başlatılamıyor (başka bir işlem tarafından kullanın)


96

IIS'de bir site başlatmaya çalıştığımda şöyle diyor:

işlem, başka bir işlem tarafından kullanıldığı için dosyaya erişemiyor

Google'da arama yaptım ve başka bir sitenin Port 80'i kullanıyor olabileceğini buldum, ancak MyIIS'de sadece bu sitenin Port 80'i kullandığını görüyorum. Port 80'i başka ne kullanıyor olabilir veya ilgili başka bir sorun var mı?


sisteminizi bir kez yeniden başlatın ve deneyin.
عثمان غني

ben yaptım bu yine aynı problemi ortaya

1
IIS'yi başka bir bağlantı noktasında çalışacak şekilde yapılandırmayı deneyin. Makinenizde çalışan başka bir sunucunuz olabilir. Herhangi bir apache örneği? Virüs bulaşmış bilgisayarlarda da 80 numaralı bağlantı noktasını arka kapı olarak açan birkaç solucan vardır.
nunespascal

Bu hata metni kesinlikle yararlı değildir, ancak olay görüntüleyici günlüklerini kontrol ederseniz, 8080 numaralı bağlantı noktasına bağlanırken bir hata olduğuna dair bazı ipuçları verir (web sitesi tarafından IIS'imde kullanılır). Windows 10 kutumda iki hatayı IIS-W3SVC ve HttpEventkaynaktan kaydetti. İkinci olay günlüğü metni - 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.. 8080 numaralı bağlantı noktası bir Oracle hizmeti tarafından kullanılıyordu. Web sitem tarafından kullanılan bağlantı noktasını 8081 olarak değiştirdim.
RBT

Yanıtlar:


176

Kullanarak kontrol edin netstat -aonveya netstat -aon | findstr 0.0:80Sunucusu Kimliği olduğunu görmek için istemi bir komuta 80: portuna DİNLEME ve sonra o Süreci Kimliği (PID) izlemek Görev Yöneticisi ile görünüm-> columns-> süreç kimliği seçin kontrol etti. Bu işlemi sonlandırın, IIS'yi yeniden başlatın ve bitirdiniz. ( Not: Skype yüklediyseniz, önce bu işlemden çıkmayı deneyin. )

Modern bir Görev Yöneticisinde, PID'yi aramak için Ayrıntılar sekmesine gitmeniz gerekir . Veya yorumlarda @Nikita G tarafından belirtildiği gibi , bu komutu komut isteminizden görevi bulmak için kullanabilirsiniz:

tasklist /FI "PID eq 123"

Not: 123ilk komuttan dönen PID ile değiştirin .


11
Skype yorumu için de teşekkür ederiz.
Keith

Skype 80 numaralı bağlantı noktasında çalışıyordu ve web sitelerim de 80 numaralı bağlantı noktasında yapılandırıldı, bu nedenle skype oturumunu kapatarak bu sorunu çözdüm ve ardından skype ayarlarını 8080 numaralı bağlantı noktasında çalışacak şekilde değiştirdim. (IIS'yi Başlatmak Zorunlu Değildir)
Umar Shafeeq

1
Microsoft ürünlerinin kavga etmesi eğlencelidir ... ta ki bilinmeyen bir nedenden ötürü tekrar gerçekleştiğini fark ettiğinizde bilgisayarınızı yeniden başlatmaya devam etmeniz gerekene kadar ve buna neyin sebep olduğunu (şimdiye kadar) anlayacak enerjiniz kalmayana kadar. Cidden, çok sinir bozucu.
andyface

10
İşte bunu yapmanın biraz daha kolay yolu. 80 numaralı bağlantı noktasında dinleme sadece öğeleri göster: netstat -aon | findstr 0.0:80. Sonra döner PID 123 olduğunu hangi işlem görmek için aşağıdaki çalıştırın varsayarak: tasklist /FI "PID eq 123".
Nikita G.

1
Benim için bu, OracleServiceXEIIIS sunucumdaki yeni web sitesinin bağlanmaya çalıştığı 8080 numaralı bağlantı noktasını tüketen hizmetti.
MHK

35

Farklı bir işlem 80 numaralı bağlantı noktasını kullandığı için gerçekleşiyor, bu, bilgisayarınızda Skype gibi bir sohbet uygulaması olabilir.

İlk olarak, 80 olan varsayılan web sitesi bağlantı noktasını kullanılmayan bir bağlantı noktasıyla değiştirin (ör. 8087). Bunu başarmak için uygulamaya sağ tıklayın ve ardından 'Bağlamayı Düzenle'ye tıklayın.

görüntü açıklamasını buraya girin

görüntü açıklamasını buraya girin

Bu bağlantı noktası değişikliğinden sonra yeniden başlatın. Artık hangi işlemin IIS Bağlantı Noktası 80'i engellediğini belirleyebilirsiniz. Bunu kontrol etmek için işlem kimliği ile birlikte bağlantı noktasının ayrıntılarını görüntüleyen netstat komutunu kullanın.


6
skype benim
sorunumdu

aynı burada, skype 80 numaralı bağlantı noktasını kullanıyordu. Seçenekler -> Gelişmiş -> Bağlantı -> "Ek için 80 ve 442 numaralı bağlantı noktalarını kullan ..."
Wagner Danda da Silva Filho,


10

Bu komutu, hangi uygulamanın veya hizmetin bağlantı noktasını kullandığını bulmak için de çalıştırabilir ve ardından Görev yöneticisinde izini sürebilirsiniz (Web Dağıtımı Ajan Hizmeti olmadığı sürece).

netstat -o -n -a | findstr 0.0: 80

Ardından Görev yöneticisini açın, İşlemler'e gidin, "Tüm kullanıcılar için işlemleri göster" onay kutusunu tıklayın ve ardından Görünüm menüsünü tıklayın ve Sütunlara Git, PID sütununu ekleyin.

Netstat komutundaki İşlem Kimliğini görev yöneticisindeki PID ile eşleştirdiğinizde, bağlantı noktasını kullanan hizmeti veya uygulamayı bulacaksınız.


2
Eğer olduğunu hangi işlem görmeye sonra aşağıdaki komutu hakkını çalıştırın açılış görev yöneticisi kaçınmak istiyorum: tasklist /FI "PID eq <PID from netstat (without brackets)>".
Nikita G.

2

Başkalarının da söylediği gibi, başka bir şey 80 veya 443 numaralı bağlantı noktasını kullanıyor olabilir. Benim için VMWare İş İstasyonu Sunucusuydu, ancak netstat'ın nasıl kullanılacağına dair diğer yanıtları kontrol edin.


443 numaralı bağlantı noktasından bahsettiğim için +1 netstat. 80 numaralı bağlantı noktasını kontrol etmek için kullanıyordum ve hiçbir şey görünmedi. Sonra 443 numaralı bağlantı noktasından bahsettiniz ve işte oradaydı.
jtate

1

Bu bağlantının bu sorunun oldukça iyi bir açıklamasını ve düzeltmesini sağladığını düşünüyorum http://support.microsoft.com/KB/890015

Çoğu zaman; iki nedenden birinden kaynaklanır: 1) 80 numaralı bağlantı noktası başka bir şey tarafından kullanılıyor ve başkalarının önerdiği gibi, durumun bu olup olmadığını görmek için netstat -o -n -a | findstr 0.0: 80'i kullanabilirsiniz. Evetse, işlemi görev yöneticisinden sonlandırın (tüm kullanıcıların işlemlerini göster seçeneğini işaretleyin)

2) 80 numaralı bağlantı noktası kullanılmazsa, ikinci neden muhtemelen HTTP-> Parametrelerinin kayıt defteri anahtarında dosyalanan ListenOnlyList'teki geçersiz bir ip adresidir. Anahtarı manuel olarak ayarlamak için bağlantıyı izlerseniz veya aslında httpcfg delete iplisten -i ipaddressgeçersiz ip adresini silmek için (xp ve server 2003) kullanabilirsiniz. İpadresini düzenledikten sonra http'yi yeniden başlatmalısınız!


@bummi yorum için teşekkürler. Şimdi biraz daha ayrıntı ekledim.
stt106

0

Benim durumumda, 80 numaralı bağlantı noktasını çalıştıran ve kullanan " Eşitleme Paylaşım Hizmeti " (SyncShareSvc) idi. Netstat 80'i ücretsiz olarak gösterdi. Siteyi başka bir bağlantı noktasında çalıştırabilirdim, ancak 80 değil. Bir Ana Bilgisayar adı eklersem, IIS siteyi başlatmama izin verirdi, ancak localhost'a (veya herhangi bir ana bilgisayar adına) göz atarken Özet kimlik doğrulaması yapmam istenir. katma). IIS'de yalnızca Anonim ve Form Yetkisi etkinleştirildi ...

Ayrıca, IIS'yi durdurduktan sonra http://localhosthala Digest kimlik doğrulamasını istediğini gördüm .

Benim durumumda çözüm, Dosya ve Depolama Hizmetleri> Dosyalar ve iSCSI Hizmetleri> " Çalışma Klasörleri " ni yüklü hizmetlerden kaldırmaktı (yeniden başlatma gerekir).

"Çalışma Klasörleri" hizmetini kaldırıp yeniden başlattıktan sonra, IIS beklendiği gibi çalıştı.


0

Benim durumum RD Web Erişimi yüklendikten sonra, orijinal varsayılan web siteleri başlatılamadı. RD Web Erişimi rolü kaldırıldı hala aynı. 443 numaralı bağlantı noktasının bağlanması sorunu çözdü.


0

Bunun nedeni web geliştiricileri tarafından çoğu zaman apache'nin nedenidir, dolayısıyla apache'den yapılandırma dosyasına giderseniz! açın ve ctrl + f ile 80 arasında arama yapın ve göreceğiniz ipi 8080 olarak ve altındaki cümleyi 80 ila 8080 ile değiştirin ve xampp'inizde veya şu anda kullandığınız programda bunu yapılandırmanız gerekir

Umarım size yardım ederim


Soru, apache değil, IIS ile ilgili.
C.

1
Evet, ama bu 2 program birbirini engelliyor, bu yüzden belki de benimle aynı sorunu yaşayan birine yardım edebilirim
Arne Schouten

0

Daha anlamlı bilgiler elde etmek için bir yol, netstat80 (varsayılan http bağlaması) veya 443 (https bağlaması tanımlanmışsa) kullanan işlemi bilmeniz için yayın verirken sahiplik bilgilerini de almaktır :

 netstat -ab

Benim durumumda suçlu vmware idi:

TCP 0.0.0.0:443 BilgisayarAdı: 0 DİNLEME
[vmware-hostd.exe]

netstat, 80 veya 443 numaralı bağlantı noktalarını (örneğin find ":443") aramak için find'a aktarılabilir , ancak bu belirli aktif bağlantılar , görülmeleri kolay olan listenin başında gösterilecektir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.