Apache Sunucusu (xampp) Windows 10 (Bağlantı Noktası 80) üzerinde çalışmıyor


84

Windows 10 Insider Programını kurdum. Apache dışında her şey çalışıyor. Başlatmaya çalıştığımda, 80 numaralı bağlantı noktasının engellendiğini söylüyor. Engelini kaldırmanın veya Apache'ye bunun yerine başka bir bağlantı noktası kullanmasını söylemenin bir yolu var mı ?

Daha önce Windows 7 kullanıyordum. Skype ile 80 numaralı bağlantı noktasında sorun yaşadım, ancak devre dışı bıraktım.


PID 4'tür. İşlem
Sistemdir

Bilgisayarınızın markasına dikkat edin: Bilgisayarımın bağlantı noktasını engelleyen özel bir hizmeti olduğunu öğrendim. Nihayet bunu anlamak için tüm hizmetleri tek tek devre dışı bırakmak zorunda kaldım ...
Jean-François Savard

Olası XAMPP
Burgi

IIS
PORT'unu

Yanıtlar:


208

Windows 10'da aynı sorunu yaşadım, IIS / 10.0 80 numaralı bağlantı noktasını kullanıyordu

Bunu çözmek için:

  • "W3SVC" servisini bul
  • devre dışı bırakın veya "manuel" olarak ayarlayın

Fransızca adı: " World Wide Web Yayın Hizmeti "

İngilizce adı: " World Wide Web Publishing Service "

almanca adı: "WWW-Publishingdienst" - teşekkürler @fiffy

Lehçe adı: "Usługa publikowania w sieci WWW" - teşekkürler @KrzysDan

Rusça adı "Служба веб-публикаций" - teşekkürler @Kreozot

İtalyanca adı "Servizio Pubblicazione sul Web" - teşekkürler @ Claudio-Venturini

Español adı "Servicio de publicación World Wide Web" - teşekkürler @ Daniel-Santarriaga

Portekizce (Brezilya) adı "Serviço de publicação da World Wide Web" - teşekkürler @ thiago-born


Alternatifler:


Düzenleme 07 Ekim 2015: Daha fazla ayrıntı için Matthew Stumphy'nin cevabına bakın Apache Sunucusu (xampp) Windows 10'da (Bağlantı Noktası 80) çalışmıyor


2
Harika ... Varsayılan olarak Windows 10 ile ilgili bir sorun
user3658423

3
Hizmet, açılışta açılıp Administrative Toolsseçilerek devre dışı bırakılabilir Services. Hizmetler başlıklı bir pencere açılacaktır. Ardından bulun World Wide Web Publishing Services, sağ tıklayın ve seçin Properties. Değişim Startup Typeiçin Manualve tıklamaApply
zgr024

3
Diğerleri görünen adı arayarak bulabilirsc getdisplayname W3SVC
Honza Kuchař

W3SVC'nin web sunucusu gibi davranmayan normal bir bilgisayarda çalışması için herhangi bir sebep var mı?
DaedalusAlpha

World Wide Web Publishing Service'i yüklü Windows bileşenleri listesinden kaldırmak daha iyi olmaz mıydı? Artık yüklenemeyeceği için hizmeti devre dışı bırakmanıza gerek yoktur.
Arnoud Sietsema

31

Bu yanıt, paaacman tarafından bu konudaki en yüksek puanlı yanıta ek olarak tasarlanmıştır. Windows 10'da da yollarını bilmeyen benim gibi kullanıcılar için bazı yararlı ayrıntılar eklemek istedim.

Windows 10, Başlangıç ​​sırasında Bağlantı Noktası 80'de otomatik olarak IIS'yi (İnternet Bilgi Hizmetleri, Microsoft'un web sunucusu yazılımı) çalıştırır. Bu bağlantı noktasında Apache Sunucusunu kullanmak için IIS'nin durdurulması gerekir.

paaacman'ın yanıtı, IIS sunucusuna "W3SVC" veya "World Wide Web Publishing Service" olarak başvurur. Sanırım bunun nedeni Windows 10'un IIS'yi bir hizmet olarak çalıştırmasıdır. Devre dışı bırakmak veya hizmetin çalışma şeklini değiştirmek için, sisteminizde "Hizmetleri" nerede bulacağınızı bilmeniz gerekir.

Windows 10 görev çubuğunda başlat menüsü düğmesinin yanındaki arama düğmesine tıklamanın en kolay yolunu buldum ve "Yönetimsel Araçlar" yazdım . Return tuşuna basabilir veya Windows'un sizin için bulduğu "Yönetimsel Araçlar" bağlantısını tıklayabilirsiniz.

Araçların listesini içeren bir kontrol paneli penceresi açılacaktır. İstediğiniz " Hizmetler " dir. Çift tıklayın.

"Hizmetler" adlı başka bir pencere açılacaktır. " World Wide Web Publishing Service " adlı hizmeti bulun . Bu konudaki diğer bazı kullanıcılar, listeniz İngilizce değilse, diğer dillerde çağrılanları listelemiştir.

Yalnızca bu Windows oturumu için IIS sunucusunu kapatmak, ancak Windows'u bir sonraki başlatışınızda otomatik olarak yeniden çalışmasını istiyorsanız, "World Wide Web Publishing Service" seçeneğini sağ tıklayın ve " Stop " u seçin . Sunucu duracak ve Port 80 Apache (veya onu başka ne için kullanmak isterseniz) için serbest bırakılacaktır.

Gelecekte Windows'u başlattığınızda IIS sunucusunun otomatik olarak çalışmasını önlemek istiyorsanız, "World Wide Web Publishing Serivce" öğesini sağ tıklayın ve " Özellikler " i seçin . Görünen pencerede, "Başlangıç ​​türü" açılır menüsünü bulun ve "Manuel" olarak ayarlayın. Değişikliklerinizi kaydetmek için "Uygula" veya "Tamam" ı tıklayın. Tamamen hazır olmalısın.


15

Windows 10 ile IIS varsayılan olarak Port 80 üzerinde çalışır ve değiştirilebilir:

Run appwiz.cpl kullanımı Turn Windows features on or offve IIS Yöneticisi Konsolu yükleyin.

Windows özelliklerini açın veya kapatın -> İnternet Bilgi Hizmetleri -> Web Yönetim Araçları -> IIS Yönetim Konsolu

Çalıştırın InetMgr.exeve "Bağlantılar -> Siteler" e gidin ve fareyle sağ tıklayarak varsayılan "Varsayılan Web Sitesi" girişindeki bağlam menüsünü tıklayın. Bağlam Menüsünde Sunucu adresini ve bağlantı noktası yapılandırmasını açmak için "Bağlantılar" ı seçin.

"Bağlantılar -> Siteler" -> "Varsayılan Web Sitesi Bağlamaları"

Sunucu adresi ve bağlantı noktası yapılandırması

Varsayılan Bağlantı Noktası 8080 Olarak Değiştiriliyor

https://technet.microsoft.com/library/hh831681.aspx#Site_Bingings


14

Tam olarak aynı sorunu yaşadım ve aşağıdaki komutu komut satırından yönetici olarak çalıştırarak çözdüm:

1) önce aşağıdakilerle hizmeti durdurun

net durak http / y

2) ardından başlangıcı devre dışı bırakın (isteğe bağlı)

sc config http start = devre dışı


Bu, 80 numaralı bağlantı noktasını serbest bırakmanın en kolay yoludur. Bunu bir serseri makine için kullanıyorum.
Mārtiņš Briedis

9

Komut satırına yazın

netstat -aon | findstr :80

80 numaralı bağlantı noktasını kullanan işlemin PID'sini göreceksiniz. Ardından bu uygulamayı başka bir bağlantı noktasını kullanacak şekilde yapılandırmayı deneyin veya sadece kapatın

GÜNCELLEME: Benim burada yorumunu yazacağım daha anlaşılır olması için: uygun bu Yorumumu bağlantıya , Windows 10'da, 80 numaralı bağlantı noktasını kullanan MsDepSvc hizmetidir. IIS veya Web Matrix 2 içindir. IIS veya Web Matrix kullanmayacaksanız 2 herhangi bir web geliştirme için hizmeti kapatmayı deneyebilirsiniz

Ve sorunuzun ikinci bölümü için, Apache'ye [Apache klasörü] /conf/httpd.conf dosyasını düzenleyerek başka bir bağlantı noktası kullanmasını söyleyebilirsiniz. "Listen 80" dizesine sahiptir. 80'i istediğiniz boş bağlantı noktasına değiştirin ve Apache'yi yeniden yükleyin


Sistem bu. Bunu öldüremem, değil mi?
Aloso

Hızlı bir şekilde Google'da arama yaptıktan sonra, bu bağlantıyı nextofwindows.com/… buluyorum . "..., 80 numaralı bağlantı noktasını işgal eden arka planda çalışan MsDepSvc hizmetlerine sahipsiniz. Hızlı bir düzeltme, herhangi bir web geliştirme için IIS veya Web Matrix 2 kullanmayı planlamadığınız zaman hizmeti durdurabilir. Ve hizmetleri başlatın Gerektiğinde, Web Matrix ile geleneksel apache geliştirme arasında geçiş yaptığınızda karşılaşabileceğiniz bazı gizemleri çözeceğini umuyoruz. "
Sergey Maksimenko

Üzgünüm ama bu işleme sahip değilim.
aloso

8

SQL Server Raporlama Hizmetlerini de sonlandırmanız gerekebilir.


5

Benim durumumda hem Apache geliştirme için XAMPP hem de .Net 2013 geliştirme için IIS Express'e ihtiyacım var; bu yüzden aşağıdakileri yapıyorum:

  1. Services.msc yazılan Komut İstemi'nde bu, "World Wide Web Publishing Service" i bulduğum "Windows Services" i yükler ve durdurur. World Wide Web Yayınlama Hizmeti DURDUR

  2. XAMPP Kontrol Panelini başlatıyorum "Config" e tıklayın ve ardından "Apache httpd.conf" u seçin. "80" araması yapın ve ardından bunu "Listen 80" ve "SunucuAdı localhost: 80" için "8080" olarak değiştirin. Dosyayı "Farklı Kaydet" den kaydedin ve "Farklı Kaydetme Türü" nden metin olarak kaydetmemek için "Tüm dosyalar" ı seçin ve "Kodlama" "UTF-8" olmalıdır. Apache httpd.conf

  3. XAMPP Kontrol Panelinden çıkın, ardından tekrar başlatın ve "Eylem" bölümünden Apache ve MySQL'i başlatın. Şimdi bağlantı noktasının değiştiğini göreceksiniz. Artık bildiğiniz gibi Apache sunucunuza "localhost" yerine "localhost: 8080" kullanarak ulaşmalısınız. Ayrıca aynı Windows 10 bilgisayarda çalışan hem Apache hem de IIS Express'e sahipsiniz.

Yazarın "9080" bağlantı noktasını kullanmasını önerdiği bazı yerlerde bir yazı okudum ama benim için işe yaramadı.


3

Sorun, bir işlem 80 numaralı bağlantı noktasını kullandığında ortaya çıkar.

Kaçabilirsiniz Netstat kullanılabilir olduğu XAMPP Denetim Masası hangi süreç kullandığı portu 80 sisteminizdeki ve kontrol edin.

Benim için IIS değildi , Skype .

Bu işlemi / uygulamayı kapatın ve ardından Apache hizmetlerini başlatın.


Bu, önceki cevapların birçoğunun kopyası gibi görünüyor, belki de Skype'ın sizin için sorunlu süreç olduğu bir yorum olarak daha iyi.
blm

"Bu skype idi" bana bir cevap gibi geliyor! OP için çözen cevap olmayabilir, ama benim için yaptı ve şükür ki bir cevaptı ve bir yorum değildi, yoksa görmemiş olabilirim.
arichards

1

Belki bu sorunun çözüldüğünü biliyorum ama farklı çözümlerle aynı sorunu yaşadım. Bunun için olası başka bir çözümü açıklayacağım. Benim durumumda, 80 numaralı bağlantı noktası Skype tarafından işgal edildi (pid: 25252) ve programın ne olduğunu bilmiyordum.

Port 80'i kullanan programın pid'ini görmek için başkalarının daha önce söylediği komutu kullanabilirsiniz:

netstat -aon | findstr 0.0:80

İşlemi pid kullanarak öldürmek için (programı bilmiyorsanız) CMD'yi yönetici izniyle açmanız ve sonraki komutu kullanmanız gerekir:

taskkill /pid 25252

Bu komuta sahip diğer seçenekler burada .


Bu aynı sorun değildir çünkü skype ayarlarında 80 numaralı bağlantı noktasını devre dışı bırakabilirsiniz. Skype'ı öldürmenize gerek yok!
aloso

Haklısın. Şimdi seçeneği gördüm. Sorun yaşadığımda görmedim.
CGG

1

Bunun, sorununun sebebi OLMAYABİLECEĞİNİ biliyorum, ancak bu sorunu çözmek için birkaç saatimi kafamı duvara vurarak geçirdim ve bu benim çözümüm.

(Windows 10 x32 çalıştıran)

Bu yüzden XAMPP'yi derinlemesine iç içe geçmiş bir dizine kurdum ve tüm conf dosyaları kökü referans \xampp\apachealırken benim dosyalarımsome_dir\another_dir\whatthehelliswrongwithme\finally\xampp\apache

bu yüzden seçeneklerim ya hepsini gözden geçirmek ve düzenlemek idi \xampp\apache referansları ve onları doğru yere yönlendirmekti, VEYA, çok daha basit seçenek ... XAMPP'yi köke yeniden yükleyin, böylece referansların tümü doğru yere işaret ediyor.

Biraz can sıkıcı, ama sanırım Mac ve Windows arkadaş olmaya çalıştığında karşımıza çıkan şey bu ..

Umarım birkaçınıza yardımcı olur.



1

Apache sunucu portunuzu değiştirmenin basit olduğunu düşünüyorum

  1. Git C: \ xampplite \ apache \ conf
  2. Httpd.conf dosyalarını açın
  3. Dinle 80 ara
  4. Değişim 80 9080 gibi başka hiç
  5. Şimdi XAMPP yeniden başlatma sunucuyu başlatmayı deneyin

NB Sunucu sürümünü kullanıyorum : 5.1.41 Windows 10 ile


0

"Bazı sistem işlemlerini" kapatmak zor olabilir ... @Sergey Maksimenko tarafından belirtildiği gibi [Apache klasörünü] /conf/httpd.conf dosyasını düzenlemeyi tercih etmelisiniz ve sanal konağı yapılandırmak istiyorsanız [Apache'deki yeni bağlantı noktasını kullanın klasör] /conf/extra/httpd-vhosts.conf ([Apache klasörü] /conf/httpd-ssl.conf'ta 80 yerine 4900 ve 443 yerine 4901 kullandım). Ve localhost'taki (veya sanal ana makinenizdeki) sayfaya erişirken bağlantı noktasını kullanmayı unutmayın, örneğin: localhost: 4900 / index.html


0

Bu sabit node.js de Windows 10 altında 80 numaralı bağlantı noktasında çalışmıyor, bir listen eacceshata alıyordum . Başlat> Hizmetler, "World Wide Web Yayınlama Hizmeti" ni bulun ve tam olarak paaacman'ın açıkladığı gibi devre dışı bırakın.


0

Aynı sorunu yaşadım ve yukarıdaki çözümlerden hiçbiri benim için işe yaramadı.

Apache, hem 80 hem de 443 numaralı bağlantı noktalarını (HTTPS için) kullanır ve Apache'nin başarılı bir şekilde başlaması için her ikisinin de kullanıma hazır olması gerekir. Yalnızca 80 numaralı bağlantı noktası yeterli olmayabilir.

Benim durumumda, VMWare Workstation'ı çalıştırırken, VMware paylaşımı tarafından kullanılan 443 numaralı bağlantı noktasına sahip olduğumu buldum.

VMware ana Tercihlerinde paylaşımı devre dışı bırakmanız veya bu bölümdeki bağlantı noktasını değiştirmeniz gerekir.

Bundan sonra, 80 numaralı bağlantı noktasına bağlı başka bir sunucunuz olmadığı sürece (yukarıdaki çözümlere bakın), XAMPP veya başka herhangi bir Windows yığın uygulaması üzerinde Apache veya NGinx'i başlatabilmelisiniz.

Umarım bu diğer kullanıcılara yardımcı olur.


0

Birçoğu IIS'yi durdurma / devre dışı bırakma yaklaşımını benimserken, burada yanıtlanan XAMPP bağlantı noktasını kolayca değiştirebileceğinizi bilmek yararlı olabilir . Her ikisinin de koşmasına ihtiyacım olduğu için gitmem gereken yol bu.


0

Oldukça bariz nedenin (IIS) yanı sıra, bu sorun için yeterince yaygın olan başka bir neden daha var. Bu soruyu ve cevabını burada alıntı yapmaya değer:

http://stackoverflow.com/questions/22994888/why-skype-using-http-or-https-ports-80-and-443 

Bu nedenle, bilgisayarda Skype yüklüyse, bunu da kontrol ettiğinizden emin olun. Çözüm burada alıntılanmıştır:

80 numaralı bağlantı noktasının ve 443 numaralı bağlantı noktasının Skype kullanımını ve dinlemeyi kapatmak ve devre dışı bırakmak için, Skype penceresini açın, ardından Araçlar menüsüne tıklayın ve Seçenekler öğesini seçin. Gelişmiş sekmesine tıklayın ve Bağlantı alt sekmesine gidin. Gelen bağlantılar seçeneği için bağlantı noktası 80 ve 443'ü alternatif olarak kullan onay kutusunun işaretini kaldırın veya işaretini kaldırın. Değişikliği etkili kılmak için Kaydet düğmesine tıklayın ve ardından Skype'ı yeniden başlatın.


Herkes Skype'ı kapat ve devre dışı bırak diyor, ancak bunun Skype üzerindeki etkisi nedir? Skype'ta herhangi bir yapılandırma ayarını değiştirmemiz gerekiyor mu?
luisdev

@luisdev Yukarıdaki alıntıda açıklanan adımları izlemeniz yeterli. Skype'ta yapılandırma ayarlarını nasıl değiştireceğinizi anlatır.
Earth Engine

Tamam, Skype'ta yapılandırma ayarlarını nasıl değiştireceğimi biliyorum, ancak Skype ayarlarını değiştirmenin Skype işlevselliği üzerindeki etkisi nedir? Skype'ta arama yapma veya alma yeteneğimi etkiler mi? Skype artık 80 ve 443 numaralı bağlantı noktalarında dinleme yapmıyorsa, insanlar yine de beni arayabilir mi?
luisdev

1
@luisdev Skype'ta bu bağlantı noktalarını devre dışı bırakma konusunda sorun yaşamıyorum. Görünüşe göre sadece belirli güvenlik duvarlarının arkasındayken faydalı oluyor. Yani bu sizin için işe yaramazsa, tekrar açmanız gerekecek. Ne yazık ki, Skype bunu yalnızca OUTER adresleri yerine TÜM adresleri dinlediği için yanlış bir şekilde yaptı, bu da yalnızca localhost'ta dinlemenizi imkansız hale getirdi.
Earth Engine

-1

Öncelikle, regedit'i yönetici olarak çalıştırın, görüntüye bakın HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentCurrentControlSet \ Services \ HTTP'yi açın Başlat'ı açın, 3'ten 4'e değeri değiştirin, görüntüye bakın ve bilgisayarınızı yeniden başlatın

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.