Сервер Apache (xampp) не работает в Windows 10 (порт 80)

Я установил программу Windows 10 Insider. Все работает, кроме Apache. Когда я пытаюсь запустить его, он говорит, что порт 80 заблокирован. Есть ли способ разблокировать его или скажите Apache использовать другой порт вместо этого?

раньше я использовал Windows 7. У меня были проблемы с портом 80 со skype, но я отключил его.

18 ответов


У меня была такая же проблема в windows 10,IIS / 10.0 использовал порт 80

чтобы решить эту проблему:

  • найти сервис "W3SVC"
  • отключите его или установите "вручную"

французский имя: "сервис публикации World Wide Web"

английское имя: "World Wide Web Publishing Service"

немецкое имя: "WWW-Publishingdienst" - спасибо @fiffy

польское имя: "Usługa publikowania w sieci WWW" - спасибо @KrzysDan

русское имя "Служба веб-публикаций" - спасибо @ kreozot

итальянское имя "Servizio Pubblicazione sul Web" - спасибо @Claudio-Venturini

Español название "Servicio de publicación World Wide Web" - спасибо @Daniel-Santarriaga

португальский (Бразилия) имя "Serviço de publicação da World Wide Web" - спасибо @thiago-born


варианты :


Edit 07 oct 2015: более подробную информацию см. В ответе Мэтью Штумфи сервер Apache (xampp) не работает в Windows 10 (порт 80)


этот ответ предназначен как дополнение к самому высокому рейтингу ответа в этой теме paaacman. Я просто хотел добавить некоторые полезные детали для таких пользователей, как я, которые не знают свой путь вокруг Windows 10.

Windows 10 запускает IIS (Internet Information Services, программное обеспечение веб-сервера Microsoft) автоматически во время запуска на порту 80. Чтобы использовать сервер Apache на этом порту, IIS должен быть остановлен.

ответ paaacman ссылается на сервер IIS как "W3SVC", или"World Wide Web Publishing Service". Я полагаю, это потому, что Windows 10 запускает IIS как службу. Чтобы отключить его или изменить способ запуска службы, вам необходимо знать, где найти "службы" в вашей системе.

Я нашел самый простой способ нажать на поиск рядом с кнопкой Меню Пуск на панели задач Windows 10 и тип "администрирование". Вы можете либо нажать return, либо нажать на ссылку " администрирование что Windows находит для вас.

откроется окно панели управления со списком инструментов. Тот, кого вы хотите, это"услуги.- Дважды щелкните.

откроется другое окно под названием "службы."Найти по имени "World Wide Web Publishing Service."Некоторые другие пользователи в этой теме перечислили то, что называется на других языках, если ваш список не на английском языке.

Если вы хотите отключить сервер IIS только для этой Windows сеанс, но хотите, чтобы он снова запускался автоматически при следующем запуске Windows,щелкните правой кнопкой мыши "World Wide Web Publishing Service" и выбираем "остановка."Сервер остановится, и порт 80 будет освобожден для Apache (или для чего еще вы хотите его использовать).

Если вы хотите предотвратить автоматический запуск сервера IIS при запуске Windows в будущем,щелкните правой кнопкой мыши "World Wide Web Publishing Serivce" и выберите "свойства."В появившемся окне, найдите выпадающий список"Тип запуска" и установить его "вручную." нажмите "Применить" или "ОК", чтобы сохранить изменения. Вы должны быть готовы.


С Windows 10 IIS работает на порту 80 по умолчанию, который можно изменить:

выполнить appwiz.cpl использовать Turn Windows features on or off и установите консоль диспетчера IIS.

Turn Windows features on or off -> Internet Information Services -> Web Management Tools -> IIS Management Console

выполнить InetMgr.exe и перейдите в "соединения - > сайты "и откройте Правой Кнопкой Мыши контекстное меню на записи по умолчанию"веб-сайт по умолчанию". В контекстном меню выберите "привязки", чтобы открыть адрес и порт сервера конфигурация.

"Connections -> Sites" -> "Default Website Bindings"

Server address and port configuration

Chaning Default Port to 8080

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


У меня была точно такая же проблема и я решил ее, запустив команду folowing из командной строки в качестве администратора:

1) Сначала остановите службу со следующим

net stop http / y

2) затем отключите запуск (необязательно)

sc config http start= отключено


введите в командную строку

netstat -aon | findstr :80

вы увидите PID процесса, который использует порт 80. Затем попробуйте настроить это приложение, чтобы использовать другой порт, или просто убить его

обновление: Я напишу свой комментарий здесь, чтобы быть более ясным: согласно этой link, в Windows 10, это служба MsDepSvc, которая занимает порт 80. Это для IIS или веб-матрицы 2. Если вы не будете использовать IIS или Web Matrix 2 для какой-либо веб-разработки, вы можете попробовать закрыть долой службу!--2-->

и для второй части вашего вопроса Вы можете сказать Apache использовать другой порт, отредактировав [Apache folder]/conf / httpd.conf. Он имеет строку "слушать 80". Измените 80 на любой свободный порт и перезагрузите Apache


также может потребоваться завершить работу служб SQL Server Reporting Services.


в моем случае мне нужен XAMPP для разработки Apache и IIS Express для разработки .Net 2013; поэтому я делаю следующее:

  1. в командной строке набирается услуг.msc, это загружает "службы Windows", где я нашел "World Wide Web Publishing Service" и останавливает его. World Wide Web Publishing Service STOP

  2. Панель управления I start XAMPP нажмите "Config", затем выберите " Apache httpd.conf". Найдите "80" , затем измените это для " 8080 "в обоих" слушать 80 "и"Имя_сервера localhost:80". Сохраните файл из " Сохранить как "и выберите" Все файлы", чтобы не сохранять его как текст из" Сохранить как тип", а" кодировка "должна быть"UTF-8". Apache httpd.conf

  3. закройте Панель управления XAMPP, затем запустите ее снова и из" Action " запустите Apache & MySQL. Теперь вы увидите, что порт изменился. Как вы знаете, теперь вы должны добраться до своего сервера Apache, используя "localhost:8080" вместо "localhost". Также у вас есть оба Apache и IIS Express работают на одном ПК с Windows 10.

Я прочитал сообщение, где писатель предложил использовать порт "9080", но это не сработало для меня.


проблема возникает, когда процесс использует порт 80.

вы можете запустить команды netstat который находится в Панель управления XAMPP и проверить, какой процесс использует порт 80 в вашей системе.

для меня это не было IIS, а скайп.

выключите этот процесс / приложение, а затем запустите службы Apache.


Я знаю, что, возможно, эта проблема была решена, но у меня была та же проблема с другим решением. Для этого я собираюсь объяснить другое возможное решение. В моем случае порт 80 был занят Skype (pid: 25252), и я не знал, что такое программа.

чтобы увидеть pid программы, которая использует порт 80, вы можете использовать команду, которую другие люди говорили раньше:

netstat -aon | findstr 0.0:80

чтобы убить процесс с помощью pid (в случае, если вы не знаете программу) вы должны открыть cmd с правами администратора и используйте следующую команду:

taskkill /pid 25252

другие параметры с этой командой являются здесь.


Я знаю, что это не может быть причиной вашей проблемы, но я провел несколько часов, ударяясь головой о стену, чтобы решить эту проблему, и это мое решение.

(под управлением Windows 10 x32)

поэтому я установил XAMPP в глубоко вложенный каталог, и все файлы conf ссылаются на root\xampp\apache, тогда как мои файлы some_dir\another_dir\whatthehelliswrongwithme\finally\xampp\apache

поэтому мои варианты были либо пройти и отредактировать все \xampp\apache ссылки и указать их в правильном месте, или гораздо более простой вариант... переустановите XAMPP в корне, чтобы ссылки все указывали на нужное место.

немного раздражает, но я думаю, что это то, что мы получаем, когда Mac и Windows пытаются быть друзьями..

надеюсь, это поможет некоторым из вас.


Если вам нужно запустить IIS на порту 80/443, но на другом IP-адресе, вы можете использовать netsh http add iplisten xxx.xxx.xxx.xxx как описано здесь: https://support.microsoft.com/en-us/help/954874/iis-binds-to-all-ip-addresses-on-a-server-when-you-install-iis-7-0-on

подробнее о netsh http add iplisten можно найти здесь: https://msdn.microsoft.com/en-us/library/windows/desktop/cc307219.aspx


Я думаю, что просто изменить порт сервера Apache

  1. на C:\xampplite\apache\conf
  2. открыть httpd.conf файлы
  3. искать слушать 80
  4. изменить 80 для любого другого, как 9080
  5. Теперь перезапуск XAMPP попробуйте запустить сервер

NB я использую версия сервера: 5.1.41 с windows 10


выключение "некоторого системного процесса" может быть сложным... вы должны скорее отредактировать папку [Apache]/conf / httpd.conf как упоминалось @Sergey Maksimenko, и если вы хотите настроить виртуальный хост, используйте новый порт в [Apache folder]/conf/extra / httpd-vhosts.conf (я использовал 4900 вместо 80 и 4901 вместо 443 в [папке Apache]/conf/httpd-ssl.conf). И не забудьте использовать порт при доступе к странице на localhost (или вашем virtualhost), например: localhost:4900/index.HTML-код


этот фиксированный узел.js не работает на порту 80 под Windows 10, а также, я получал listen eacces ошибка. Пуск > Службы, найдите "World Wide Web Publish Service" и отключите его, как описано paaacman.


У меня была та же проблема, и ни одно из вышеперечисленных решений не сработало для меня.

Apache использует оба порта 80 и 443 (для HTTPS), и оба должны быть готовы к использованию для успешного запуска Apache. Только порта 80 может быть недостаточно.

в моем случае я обнаружил, что при запуске VMWare Workstation у меня был порт 443, используемый общим доступом VMware.

вы должны отключить общий доступ в основных настройках VMware или изменить порт в этом разделе.

после если у вас нет другого сервера, подключенного к порту 80 (см. выше решения), вы сможете запустить Apache или NGinx на XAMPP или любом другом приложении стека Windows.

Я надеюсь, это поможет другим пользователям.


в то время как многие принимают подход к остановке/отключению IIS, может быть полезно знать, что вы можете просто изменить порт XAMPP, на который был дан ответ здесь. Это маршрут, по которому я должен был идти, так как мне нужно бежать.


помимо вполне очевидной причины (IIS), есть еще одна причина, которая достаточно распространена для этой проблемы. Стоит процитировать этот вопрос и его ответ здесь:

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

Итак, если у Вас установлен Skype на компьютере, обязательно проверьте это. Решение приведено здесь:

чтобы отключить и отключить использование Skype и прослушивание портов 80 и 443, откройте окно Skype, затем нажмите меню Сервис и выберите Параметры. Нажмите на дополнительно tab и перейдите на вкладку подключение. Убери галочку или снимите флажок Использовать порт 80 и 443 в качестве альтернативы для входящих соединений. Нажмите на кнопку Сохранить, а затем перезапустите Skype, чтобы сделать изменение эффективным.


Сначала откройте regedit Запуск от имени администратора посмотреть изображения откройте HKEY_LOCAL_MACHINE\SYSTEM\CurrentCurrentControlSet\Services\HTTP открыть Пуск, изменить значение с 3 на 4 посмотреть изображения затем перезагрузите компьютер