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


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

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

18 77

18 ответов:

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

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

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

французский имя: "Service de publication 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" - спасибо @Тьяго-родившегося


варианты :


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= disabled

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

netstat -aon | findstr :80

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

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

и для второй части вашего вопроса Вы можете сказать Apache использовать другой порт, отредактировав [Apache folder]/conf/httpd.конф. Он имеет строку "Listen 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.конф". Найдите "80" , а затем измените это к "8080 "в обоих" слушать 80 "и"Имя_сервера localhost:80". Сохраните файл из "Сохранить как "и выберите" Все файлы", чтобы не сохранять его как текст из" Сохранить как тип", а" кодировка "должна быть"UTF-8". Apache httpd.conf

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

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

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

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

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

выключите этот процесс / приложение, а затем запустите службы 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 restart попробуйте запустить сервер

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

выключение "некоторого системного процесса"может быть сложным... вы должны скорее отредактировать папку [Apache]/conf / httpd.conf как упоминалось @Sergey Maksimenko и если вы хотите настроить виртуальный хост, используйте новый порт в папке [Apache]/conf/extra / httpd-vhosts.conf (я использовал 4900 вместо 80 и 4901 вместо 443 в [Apache folder]/conf/httpd-ssl.conf). И не забудьте использовать порт при доступе к странице на локальном хосте (или вашем виртуальном хосте), например: 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, затем нажмите меню Сервис и выберите Параметры. Нажмите на дополнительно вкладка и перейдите на вкладку подключение. Убери галочку или снимите флажок Использовать порт 80 и 443 в качестве альтернативы для входящих соединений. Нажмите на кнопку Сохранить и перезапустить Skype, чтобы изменения вступили в силу.

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