Serwer Apache (Xampp) nie działa w systemie Windows 10 (port 80)


84

Zainstalowałem niejawny program testów systemu Windows 10. Wszystko działa, z wyjątkiem Apache. Kiedy próbuję go uruchomić, mówi, że port 80 jest zablokowany. Czy jest sposób, aby go odblokować lub powiedzieć Apache, aby zamiast tego używał innego portu?

Wcześniej korzystałem z systemu Windows 7. Miałem problem z portem 80 na skype, ale wyłączyłem go.


PID wynosi 4. Proces jest system (NT jądro i System)
Aloso

Uważaj na markę swojego komputera: dowiedziałem się, że mój komputer ma niestandardową usługę, która blokuje port. Musiałem wyłączać wszystkie usługi jeden po drugim, aby w końcu to zrozumieć ...
Jean-François Savard,


Odpowiedzi:


208

Miałem ten sam problem w systemie Windows 10, IIS / 10.0 używał portu 80

Aby to rozwiązać:

  • znajdź usługę „W3SVC”
  • wyłącz go lub ustaw na „ręczny”

Francuska nazwa to: „ Service de publication World Wide Web

Angielska nazwa to: „ Usługa publikowania w sieci World Wide Web

niemiecka nazwa to: „WWW-Publishingdienst” - dzięki @fiffy

Polska nazwa to: „Usługa publikowania w sieci WWW” - dzięki @KrzysDan

Rosyjska nazwa to „Служба веб-публикаций” - dzięki @Kreozot

Włoska nazwa to „Servizio Pubblicazione sul Web” - dzięki @ Claudio-Venturini

Nazywa się hiszpański „Servicio de publicación World Wide Web” - dzięki @ Daniel-Santarriaga

Nazwa portugalska (Brazylia) to „Serviço de publicação da World Wide Web” - dzięki @ thiago-born


Alternatywy:


Edycja 07 października 2015: Aby uzyskać więcej informacji, zobacz odpowiedź Matthew Stumphy'ego Serwer Apache (xampp) nie działa w systemie Windows 10 (port 80)


2
Niesamowite ... Jest to problem z systemem Windows 10 domyślnie
user3658423

3
Usługę można wyłączyć podczas uruchamiania, otwierając Administrative Toolsi wybierając Services. Pojawi się okno zatytułowane Usługi. Następnie znajdź World Wide Web Publishing Services, kliknij prawym przyciskiem myszy i wybierz Properties. Zmiana Startup Typedo Manuali kliknijApply
zgr024

3
Inni mogą znaleźć wyświetlaną nazwę dzwoniącsc getdisplayname W3SVC
Honza Kuchař

Czy jest jakiś powód, dla którego W3SVC ma działać na normalnym komputerze, który nie działa jak serwer WWW?
DaedalusAlpha

Czy nie byłoby lepiej usunąć usługę publikowania w sieci World Wide Web z listy zainstalowanych składników systemu Windows? Nie ma wtedy potrzeby wyłączania usługi, ponieważ nie można jej już zainstalować.
Arnoud Sietsema

31

Ta odpowiedź ma stanowić dodatek do najwyżej ocenionej odpowiedzi w tym wątku przez Paaacman. Chciałem tylko dodać kilka przydatnych szczegółów dla użytkowników takich jak ja, którzy również nie znają się na systemie Windows 10.

Windows 10 uruchamia IIS (Internetowe usługi informacyjne, oprogramowanie serwera WWW firmy Microsoft) automatycznie podczas uruchamiania na porcie 80. Aby korzystać z serwera Apache na tym porcie, usługi IIS muszą zostać zatrzymane.

Odpowiedź paaacman odnosi się do serwera IIS jako „W3SVC” lub „Usługa publikowania w sieci World Wide Web”. Przypuszczam, że dzieje się tak dlatego, że system Windows 10 uruchamia IIS jako usługę. Aby ją wyłączyć lub zmodyfikować sposób działania usługi, musisz wiedzieć, gdzie znaleźć „Usługi” w swoim systemie.

Najprostszym sposobem było kliknięcie przycisku wyszukiwania obok przycisku menu Start na pasku zadań systemu Windows 10 i wpisanie „Narzędzia administracyjne” . Możesz nacisnąć klawisz powrotu lub kliknąć łącze „Narzędzia administracyjne” znalezione przez system Windows.

Otworzy się okno panelu sterowania z listą narzędzi. Ten, którego potrzebujesz, to „ Usługi ”. Kliknij go dwukrotnie.

Otworzy się kolejne okno o nazwie „Usługi”. Znajdź nazwę o nazwie „ Usługa publikowania w sieci World Wide Web” . Niektórzy użytkownicy tego wątku wymienili jego nazwę w innych językach, jeśli lista nie jest po angielsku.

Jeśli chcesz tylko wyłączyć serwer IIS dla tej sesji systemu Windows, ale chcesz, aby uruchamiał się ponownie automatycznie przy następnym uruchomieniu systemu Windows, kliknij prawym przyciskiem myszy „Usługa publikowania w sieci World Wide Web” i wybierz opcję „ Zatrzymaj ”. Serwer zostanie zatrzymany, a port 80 zostanie zwolniony dla Apache (lub czegokolwiek innego, do czego chcesz go używać).

Jeśli chcesz zapobiec automatycznemu uruchamianiu serwera IIS podczas uruchamiania systemu Windows w przyszłości, kliknij prawym przyciskiem myszy opcję „ Usługa publikowania w sieci World Wide Web” i wybierz opcję „ Właściwości ”. W wyświetlonym oknie znajdź listę rozwijaną „Typ uruchomienia” i ustaw ją jako „Ręczny”. Kliknij „Zastosuj” lub „OK”, aby zapisać zmiany. Wszystko powinno być gotowe.


15

W systemie Windows 10 usługi IIS działają domyślnie na porcie 80, co można zmienić:

Uruchom, appwiz.cpl użyj Turn Windows features on or offi zainstaluj konsolę Menedżera usług IIS.

Włącz lub wyłącz funkcje systemu Windows -> Internetowe usługi informacyjne -> Narzędzia zarządzania siecią Web -> Konsola zarządzania usługami IIS

Uruchom InetMgr.exei przejdź do „Połączenia -> Witryny” i otwórz prawym przyciskiem myszy, kliknij menu kontekstowe domyślnego wpisu „Domyślna witryna internetowa”. W menu kontekstowym wybierz „Powiązania”, aby otworzyć adres serwera i konfigurację portu.

„Połączenia -> Witryny” -> „Domyślne powiązania z witryną”

Adres serwera i konfiguracja portu

Zmiana domyślnego portu na 8080

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


14

Miałem dokładnie ten sam problem i rozwiązałem go, uruchamiając następujące polecenie z wiersza poleceń jako administrator:

1) najpierw zatrzymaj usługę w następujący sposób

net stop http / y

2) następnie wyłącz uruchamianie (opcjonalnie)

sc config http start = wyłączone


To najłatwiejszy sposób na zwolnienie portu 80. Używam tego dla włóczęgów.
Mārtiņš Briedis

9

Wpisz wiersz poleceń

netstat -aon | findstr :80

Zobaczysz PID procesu, który używa portu 80. Następnie spróbuj skonfigurować tę aplikację do używania innego portu lub po prostu ją zabij

AKTUALIZACJA: Napiszę tutaj swój komentarz dla większej jasności: zgodnie z tym linkiem w systemie Windows 10 jest to usługa MsDepSvc, która zajmuje port 80. Dotyczy usług IIS lub Web Matrix 2. Jeśli nie będziesz używać usług IIS lub Web Matrix 2 w przypadku tworzenia stron internetowych, możesz spróbować wyłączyć usługę

A jeśli chodzi o drugą część twojego pytania, możesz powiedzieć Apache, aby używał innego portu, edytując [folder Apache] /conf/httpd.conf. Zawiera ciąg „Listen 80”. Zmień 80 na dowolny wolny port i przeładuj Apache


To jest System. Nie mogę tego zabić, prawda?
Aloso

Po szybkim wyszukiwaniu w Google znalazłem ten link nextofwindows.com/… . „... masz tę usługę MsDepSvc działającą w tle, która zajmuje port 80. Szybkim rozwiązaniem byłoby zatrzymanie usługi, gdy nie planujesz używać usług IIS lub Web Matrix 2 do tworzenia stron internetowych. I uruchom usługi gdy zajdzie taka potrzeba, mam nadzieję, że rozwiąże to niektóre tajemnice, które możesz napotkać podczas przełączania się między używaniem Web Matrix a tradycyjnym rozwojem apache ”.
Sergey Maksimenko

Przepraszam, ale nie mam tego procesu.
Aloso,

8

Konieczne może być również zamknięcie usług SQL Server Reporting Services.


5

W moim przypadku potrzebuję XAMPP do programowania Apache i IIS Express do programowania .Net 2013; więc robię co następuje:

  1. W wierszu polecenia wpisano services.msc, to ładuje „Usługi systemu Windows”, w których znalazłem „Usługa publikowania w sieci World Wide Web” i zatrzymuje ją. Usługa publikowania w sieci World Wide Web STOP

  2. Po uruchomieniu Panelu sterowania XAMPP, kliknij „Konfiguracja”, a następnie wybierz „Apache httpd.conf”. Wyszukaj „80”, a następnie zmień to na „8080” zarówno w „Listen 80”, jak i „ServerName localhost: 80”. Zapisz plik z „Zapisz jako” i wybierz „Wszystkie pliki”, aby nie zapisywać go jako tekst z „Zapisz jako typ”, a „Kodowanie” powinno mieć wartość „UTF-8”. Apache httpd.conf

  3. Zamknij Panel sterowania XAMPP, a następnie uruchom go ponownie i od „Akcji” uruchom Apache & MySQL. Teraz zobaczysz zmianę portu. Jak już wiesz, musisz dostać się na serwer Apache używając „localhost: 8080” zamiast „localhost”. Masz również Apache i IIS Express działające na tym samym komputerze z systemem Windows 10.

Czytałem post, w którym autor sugerował użycie portu „9080”, ale to nie zadziałało.


3

Problem występuje, gdy proces używa portu 80.

Możesz uruchomić Netstat, który jest dostępny w Panelu sterowania XAMPP i sprawdzić, który proces używa portu 80 w twoim systemie.

Dla mnie to nie były IIS , ale Skype .

Wyłącz ten proces / aplikację, a następnie uruchom usługi Apache.


To po prostu wydaje się być duplikatem wielu poprzednich odpowiedzi, może lepiej jako komentarz, że Skype był problemem dla Ciebie.
blm

„To był skype” brzmi dla mnie jak odpowiedź! Być może to nie była odpowiedź, która rozwiązała to dla OP, ale zrobiła to dla mnie i jestem wdzięczny, że to była odpowiedź, a nie komentarz, albo mogłem jej nie widzieć.
arichards

1

Wiem, że może ten problem został rozwiązany, ale miałem ten sam problem z innym rozwiązaniem. W tym celu wyjaśnię inne możliwe rozwiązanie. W moim przypadku port 80 był zajęty przez Skype (pid: 25252) i nie wiedziałem, co to za program.

Aby zobaczyć pid programu, który używa portu 80, możesz użyć polecenia, które inne osoby powiedziały wcześniej:

netstat -aon | findstr 0.0:80

Aby zabić proces za pomocą pid (w przypadku, gdy nie znasz programu), musisz otworzyć CMD z uprawnieniami administratora i użyć następującego polecenia:

taskkill /pid 25252

Inne opcje tego polecenia są tutaj .


To nie ten sam problem, ponieważ możesz wyłączyć port 80 w ustawieniach skype. Nie musisz zabijać skype!
Aloso

Masz rację. Widziałem teraz opcję. Kiedy miałem problem, nie widziałem go.
CGG

1

Wiem, że to MOŻE nie być przyczyną twojego problemu, ale spędziłem kilka godzin uderzając głową o ścianę, aby rozwiązać ten problem i to jest moje rozwiązanie.

(z systemem Windows 10 x32)

Więc zainstalowałem XAMPP w głęboko zagnieżdżonym katalogu i wszystkie pliki conf odnoszą się do roota \xampp\apache, podczas gdy moje pliki byłysome_dir\another_dir\whatthehelliswrongwithme\finally\xampp\apache

więc moje opcje polegały na przejściu i edycji wszystkich \xampp\apacheodniesień i wskazaniu ich we właściwym miejscu LUB, o wiele prostsza opcja ... przeinstalowanie XAMPP w katalogu głównym, aby wszystkie odniesienia wskazywały we właściwe miejsce.

Trochę denerwujące, ale wydaje mi się, że właśnie to dostajemy, gdy Mac i Windows próbują się zaprzyjaźnić.

Mam nadzieję, że niektórym z was to pomoże.



1

Myślę, że zmiana portu serwera Apache jest prosta

  1. Przejdź do C: \ xampplite \ apache \ conf
  2. Otwórz pliki httpd.conf
  3. Wyszukaj Listen 80
  4. Zmień 80 na inne, takie jak 9080
  5. Teraz restart XAMPP spróbuj uruchomić serwer

Uwaga : używam wersji serwera: 5.1.41 z systemem Windows 10


0

Zamykanie "jakiegoś procesu systemowego" może być trudne ... powinieneś raczej wyedytować [folder Apache] /conf/httpd.conf jak wspomniał @Sergey Maksimenko i jeśli chcesz skonfigurować wirtualnego hosta, użyj nowego portu w [Apache folder] /conf/extra/httpd-vhosts.conf (użyłem 4900 zamiast 80 i 4901 zamiast 443 w [folderze Apache] /conf/httpd-ssl.conf). I pamiętaj, aby użyć portu podczas uzyskiwania dostępu do strony na hoście lokalnym (lub twoim virtualhost), na przykład: localhost: 4900 / index.html


0

Naprawiono błąd node.js, który nie działał na porcie 80 w systemie Windows 10, więc otrzymywałem listen eaccesbłąd. Start> Usługi, znajdź „Usługa publikowania w sieci World Wide Web” i wyłącz ją, dokładnie tak, jak opisał ją paaacman.


0

Miałem ten sam problem i żadne z powyższych rozwiązań nie zadziałało.

Apache używa obu portów 80 i 443 (dla HTTPS) i oba muszą być gotowe do użycia, aby Apache mógł się pomyślnie uruchomić. Tylko port 80 może nie wystarczyć.

W moim przypadku stwierdziłem, że podczas pracy z VMWare Workstation miałem port 443 używany przez współdzielenie VMware.

Musisz wyłączyć udostępnianie w głównych Preferencjach VMware lub zmienić port w tej sekcji.

Po tym, o ile nie masz innego serwera podłączonego do portu 80 (patrz powyższe rozwiązania), powinieneś być w stanie uruchomić Apache lub NGinx na XAMPP lub dowolnej innej aplikacji stosu Windows.

Mam nadzieję, że pomoże to innym użytkownikom.


0

Chociaż wiele osób podejmuje podejście do zatrzymywania / wyłączania usług IIS, warto wiedzieć, że można po prostu zmodyfikować port XAMPP, na który udzielono tutaj odpowiedzi . To jest droga, którą musiałem wybrać, ponieważ potrzebuję obu biegów.


0

Oprócz dość oczywistego powodu (IIS) istnieje jeszcze jeden powód, który jest wystarczająco powszechny dla tego problemu. Warto zacytować to pytanie i odpowiedź na nie tutaj:

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

Tak więc, jeśli masz zainstalowany Skype na komputerze, sprawdź to również. Rozwiązanie jest cytowane tutaj:

Aby wyłączyć i wyłączyć używanie Skype i nasłuchiwanie na porcie 80 i 443, otwórz okno Skype, a następnie kliknij menu Narzędzia i wybierz Opcje. Kliknij kartę Zaawansowane i przejdź do karty podrzędnej Połączenie. Odznacz lub odznacz pole wyboru dla opcji Użyj portów 80 i 443 jako alternatywy dla połączeń przychodzących. Kliknij przycisk Zapisz, a następnie uruchom ponownie Skype, aby wprowadzić zmiany.


Wszyscy mówią, że wyłącz i wyłącz Skype, ale jaki wpływ ma to na Skype? Czy musimy zmienić jakieś ustawienia konfiguracyjne w Skypie?
luisdev

@luisdev Po prostu wykonaj kroki opisane w powyższym cytacie. Informuje, jak zmienić ustawienia konfiguracji w Skype.
Earth Engine

OK, wiem, jak zmienić ustawienia konfiguracyjne w Skypie, ale jaki wpływ ma zmiana ustawień Skype na funkcjonalność Skype'a? Czy wpłynie to na moją możliwość wykonywania i odbierania połączeń przez Skype? Jeśli Skype nie nasłuchuje już na portach 80 i 443, czy ludzie nadal będą mogli do mnie dzwonić?
luisdev

1
@luisdev Nie mam problemu z wyłączeniem tych portów w Skypie. Wydaje się, że jest to przydatne tylko wtedy, gdy znajdujesz się za określonymi zaporami ogniowymi. Więc jeśli to nie zadziała, będziesz musiał go ponownie włączyć. Niestety, Skype zrobił to w niewłaściwy sposób, ponieważ nasłuchuje na WSZYSTKICH adresach, a nie tylko na adresach ZEWNĘTRZNYCH, co uniemożliwia ci słuchanie tylko na hoście lokalnym.
Earth Engine

-1

Najpierw otwórz regedit uruchom jako administrator zobacz obraz otwórz HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentCurrentControlSet \ Services \ HTTP otwórz Start, zmień wartość z 3 na 4 zobacz obraz, a następnie uruchom ponownie komputer

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.