Сервер Apache (xampp) не запускается в Windows 10 (порт 80)

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

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

Ответ 1

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

Чтобы решить это:

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

Французское название: "Служба публикации Всемирной паутины"

Английское название: "Служба публикации World Wide Web"

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

Польское название: "Usługa publikowania w sieci WWW" - спасибо @KrzysDan

Русское название "Служба веб-публикаций" - спасибо @Kreozot

Итальянское название "Servizio Pubblicazione sul Web" - благодаря @Claudio-Venturini

Español name - "Служба всемирной паутины" - спасибо @Daniel-Santarriaga

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


Альтернативы:


Редактировать 07 октябрь 2015: Подробнее см. ответ Matthew Stumphy Apache Server (xampp) не запускается в Windows 10 (порт 80)

Ответ 2

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

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

Ответ paaacman ссылается на сервер IIS как "W3SVC" или "Всемирная служба публикации в Интернете". Я полагаю, что, поскольку Windows 10 запускает IIS в качестве службы. Чтобы отключить его или изменить способ запуска службы, вам нужно знать, где найти "Сервисы" в вашей системе.

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

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

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

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

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

Ответ 3

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

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

Включить или отключить функции Windows - > Информационные службы Интернета - > Инструменты веб-управления - >, IIS Management Console

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

Адрес сервера и конфигурация порта

Chaning Default Port to 8080

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

Ответ 4

Введите в командной строке

netstat -aon | findstr :80

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

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

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

Ответ 5

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

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

net stop http/y

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

sc config http start = disabled

Ответ 6

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

Ответ 7

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

  • В командной строке, набранной services.msc, загружается "Служба Windows", где я размещен "Служба публикации всемирной сети" и останавливаю ее. Служба публикации World Wide Web STOP

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

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

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

Ответ 8

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

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

Для меня это не было IIS, но Skype.

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

Ответ 9

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

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

netstat -aon | findstr 0.0:80

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

taskkill /pid 25252

Другие опции с этой командой: здесь.

Ответ 10

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

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

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

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

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

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

Ответ 11

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

Ответ 12

Этот фиксированный node.js не работает на порту 80 под Windows 10, я получал ошибку listen eacces. Нажмите "Пуск" > "Службы", найдите "Служба публикации всемирной сети" и отключите его, как описано paaacman.

Ответ 13

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

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

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

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

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

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

Ответ 14

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

Ответ 15

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

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

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

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

Ответ 16

Если вам нужно запустить 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