Я установил инсайдерскую программу Windows 10. Все работает, кроме Apache. Когда я пытаюсь запустить его, он говорит, что порт 80 заблокирован. Есть ли способ разблокировать его или сообщить Apache вместо другого порта?
Я использовал Windows 7 раньше. У меня были проблемы с портом 80 со скайпом, но я отключил его.
У меня была та же проблема в Windows 10, IIS/10.0 использовал порт 80
Чтобы решить это:
Французское название: "Служба публикации Всемирной паутины"
Английское название: "Служба публикации 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
Альтернативы:
sc stop W3SVC
Редактировать 07 октябрь 2015: Подробнее см. ответ Matthew Stumphy Apache Server (xampp) не запускается в Windows 10 (порт 80)
Этот ответ предназначен как дополнение к наивысшему рейтингу на эту тему от 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" и выберите " Свойства". В появившемся окне найдите раскрывающийся список "Тип запуска" и установите его "Руководство". Нажмите "Применить" или "ОК", чтобы сохранить изменения. Вы должны быть установлены.
В Windows 10 IIS работает по порту 80 по умолчанию, который можно изменить:
Запустите appwiz.cpl
используйте Turn Windows features on or off
и установите консоль диспетчера IIS.
Запустите InetMgr.exe
и перейдите к "Соединения → Сайты" и откройте правой кнопкой мыши в контекстном меню по умолчанию "Веб-сайт по умолчанию". В контекстном меню выберите "Привязки", чтобы открыть адрес сервера и конфигурацию порта.
https://technet.microsoft.com/library/hh831681.aspx#Site_Bingings
У меня была одна и та же проблема, и я решил, что она запускает следующую команду из командной строки в качестве администратора:
1) сначала остановите службу со следующими
net stop http/y
2), затем отключите запуск (необязательно)
sc config http start = disabled
Введите в командной строке
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
Возможно, вам также потребуется прекратить службы Reporting Services SQL Server.
В моем случае мне нужны как 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", но это не сработало для меня.
Проблема возникает, когда процесс использует порт 80.
Вы можете запустить Netstat, который доступен в панели управления XAMPP и проверить, какой процесс использует порт 80 в вашей системе.
Для меня это не было IIS, но Skype.
Отключите этот процесс/приложение, а затем запустите службы Apache.
Я знаю, что это НЕ МОЖЕТ быть причиной вашей проблемы, но я потратил несколько часов, ударив головой о стену, чтобы решить эту проблему, и это мое решение.
(под управлением Windows 10 x32)
Итак, я установил XAMPP в глубоко вложенном каталоге, и все файлы conf ссылаются на root \xampp\apache
, тогда как мои файлы были some_dir\another_dir\whatthehelliswrongwithme\finally\xampp\apache
поэтому мои варианты должны были либо пройти, либо отредактировать все ссылки \xampp\apache
и указать их в нужном месте, ИЛИ, гораздо более простой вариант... переустановить XAMPP в корне, поэтому ссылки все указывают на нужное место.
Немного раздражает, но я думаю, что мы получаем, когда Mac и Windows пытаются дружить.
Надеюсь, это поможет некоторым из вас.
Я знаю, что, возможно, эта проблема была решена, но у меня была такая же проблема с другим решением. Для этого я собираюсь объяснить другое возможное решение. В моем случае порт 80 был занят Skype (pid: 25252), и я не знал, какая программа была.
Чтобы увидеть программу pid, использующую порт 80, вы можете использовать команду, о которой говорили другие люди:
netstat -aon | findstr 0.0:80
Чтобы убить процесс с помощью pid (в случае, если вы не знаете программу), вы должны открыть CMD с правами администратора и использовать следующую команду:
taskkill /pid 25252
Другие опции с этой командой: здесь.
Если вам нужно запустить 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
Помимо очевидной причины (IIS), есть еще одна причина, которая достаточно распространена для этой проблемы. Стоит процитировать этот вопрос и его ответ здесь:
http://stackoverflow.com/questions/22994888/why-skype-using-http-or-https-ports-80-and-443
Итак, если у вас установлена Skype на компьютере, обязательно проверьте это. Решение цитируется здесь:
Чтобы отключить и отключить использование и прослушивание Skype на порту 80 и порту 443, откройте окно Skype, затем щелкните меню "Сервис" и выберите "Параметры". Перейдите на вкладку "Дополнительно" и перейдите на вкладку "Подключение". Отключите или снимите флажок Использовать порт 80 и 443 в качестве альтернативы для входящих соединений. Нажмите кнопку "Сохранить", а затем перезапустите Skype, чтобы сделать изменение эффективным.
В то время как многие принимают подход к остановке/отключению IIS, может быть полезно знать, что вы можете просто изменить порт XAMPP, на который был дан ответ здесь. Это маршрут, который я должен был взять, поскольку мне нужно, чтобы оба выполнялись.
У меня была такая же проблема, и ни одно из вышеперечисленных решений не работало для меня.
Apache использует оба порта 80 и 443 (для HTTPS), и оба должны быть готовы к использованию для успешного запуска Apache. Только порт 80 может быть недостаточно.
В моем случае я обнаружил, что при работе с рабочей станцией VMWare у меня был порт 443, используемый совместным использованием VMware.
Вам необходимо отключить общий доступ к основным настройкам VMware или изменить порт в этом разделе.
После этого, пока у вас нет другого сервера, подключенного к порту 80 (см. выше решения), вы должны иметь возможность запускать Apache или NGinx в XAMPP или любом другом приложении стека Windows.
Я надеюсь, что это поможет другим пользователям.
Этот фиксированный node.js не работает на порту 80 под Windows 10, я получал ошибку listen eacces
. Нажмите "Пуск" > "Службы", найдите "Служба публикации всемирной сети" и отключите его, как описано paaacman.
Отключение "некоторых системных процессов" может быть сложным... вам лучше отредактировать папку [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
Во-первых, открыть regedit запуститься как администратор посмотреть изображение открыть HKEY_LOCAL_MACHINE\SYSTEM\CurrentCurrentControlSet\Services\HTTP открыть Пуск, изменить значение от 3 до 4 посмотреть изображение затем перезагрузите компьютер.