Я установил XAMPP 1.6.8, и по какой-то причине он не работал. Позже выяснилось, что порт 80 не свободен или не слушает. Как я могу его выпустить или сделать бесплатным?
Большое спасибо!
Я установил XAMPP 1.6.8, и по какой-то причине он не работал. Позже выяснилось, что порт 80 не свободен или не слушает. Как я могу его выпустить или сделать бесплатным?
Большое спасибо!
Эта агония для меня разрешена. Я обнаружил, что порт 80 занимает службу http api. Я написал в cmd:
net stop http
Спросил меня: «Следующие службы будут остановлены, вы хотите продолжить?» Нажат y
Фактически остановил ряд сервисов.
Затем написал localhost
и wallah, Apache запущен и работает на порту 80.
Надеюсь, это поможет
Важно: Skype по умолчанию использует порт 80, вы можете изменить это в параметрах скайпа> дополнительно> подключение - и снимите флажок «использовать порт 80».
netstat -ano
Это покажет вам PID процесса, который прослушивает порт 80. После этого откройте Диспетчер задач -> вкладка Процессы. В меню View -> Select Columns
включите столбец PID
, и вы увидите имя процесса, прослушивающего порт 80.
У меня была эта проблема раньше,
если вы видите диспетчер задач (после включения представления для PID), вы обнаружите, что PID = 4 - это «порт 80, используемый ядром и системой NT;»
Просто зайдите в
World wide web services
под IIS
Если это так, снимите флажок и снова netstat (или TCPVIEW), чтобы проверить, свободен ли 80.
nginx: [emerg] bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)
. В Интернете упоминается множество исправлений, но это был самый простой. Мне потребовалась перезагрузка.
- person User; 21.07.2021
netstat -a -b
Должен сказать вам, какая программа привязана к порту 80
can not obtain ownership information
- что теперь?
- person winklerrr; 22.12.2020
используйте netstat -bano в командной строке с повышенными привилегиями, чтобы узнать, какие приложения и какие порты прослушивают.
Но обычно следующие приложения используют порт 80 в Windows.
Остановите вышеуказанные приложения, если они запущены, и проверьте !!!
Используйте TcpView, чтобы найти процесс, который прослушивает порт, и закрыть процесс. .
Другой вариант - остановить службы отчетов SQL Server.
Вы можете использовать net stop http
, он покажет, какой процесс используется. Большинство всемирных веб-сервисов используют
Введите "netstat -ano" в командную строку. Я видел, что это что-то показывает для порта локального адреса 0.0.0.0:80.
Моя проблема заключалась в том, что у меня были службы отчетов SQL Server на порту 80. Поэтому я выполнил эти инструкции и изменил номер порта с 80 на 81:
Вот изображение моей командной строки ПОСЛЕ того, как я изменил номер порта для служб отчетов SQL Server:
Если проблема не исчезла, прочтите этот форум:
http://forum.wampserver.com/read.php?2,66196,66233#REPLY
Пытаться
netstat -anb -p tcp
которые показывают порты и процессы
Это всего лишь предположение, но поскольку порт 80 является обычным портом для HTTP, в вашей системе может быть запущен веб-сервер. IIS активен?
Если вы используете IIS, у вас может быть запущена служба веб-фермы. Вот что убивало мой xampp.
Skype любит использовать порт 80 и блокирует IIS. Это была моя проблема.
У меня тоже была такая же проблема. net stop http
не помогло, и параметр Всемирные веб-службы в IIS в Панели управления Windows не был отмечен. Итак, в панели управления XAMPP я просто установил флажок Svc рядом с кнопкой запуска Apache (Установить Apache как службу) и перезагрузил Windows. И теперь каждый раз, когда запускается Windows, Apache запускается автоматически и занимает порт 80 раньше, чем любая другая служба. Сработало у меня!
Известные службы Windows, которые прослушивают порт 80
В диспетчере служб (запустите: services.msc) остановите и отключите эти службы Windows, которые, как известно, привязаны к порту 80.
Дважды щелкните «Служба» и измените «Тип запуска» на «Отключено»…
Skype также использует порт 80 в качестве настройки по умолчанию, и вы можете снять этот флажок.
У вас могут быть установлены и запущены некоторые из этих служб.
В моем случае «Службы отчетов SQL Server» открывали порт 80.
Я пытался установить nginx
отсюда - http://nginx.org/en/docs/windows.html
Переход к http://localhost/ кое-что покажет, по крайней мере, правильное сообщение «не найдено»
Это потому, что 80 - порт по умолчанию, он был занят другими процессами.
Теперь запустите команду ниже:
net stop http
// Above command stopped below services
// - SSDP Discovery
// - Print Spooler
// - BranchCache
// - Function Discovery Resource Publication
// - Function Discovery Provider Host
Теперь переход на http://localhost/ завершится ошибкой с сообщением о неработающей странице ссылки.
Основным процессом был BranchCache
. После остановки этот процесс перезапустится через несколько секунд.
Итак, нам нужно запустить другие команды, которые нам нужны в ближайшее время, пример ниже:
// this will stop
net stop http
// immeidately run other command you want to
start nginx
Теперь переход к http://localhost/ дал мне:
Welcome to nginx!
Надеюсь, это поможет.
Я столкнулся с той же проблемой и исправил ее, внеся небольшое изменение в файл httpd.conf
, который можно получить, нажав кнопку конфигурации вместе с опцией Apache.
Мое изменение заключалось в том, чтобы заменить listen 80 на listen 8080.
Ответы здесь, как обычно, предполагают уровень интерактивности.
Проблема в том, что что-то прослушивает HTTP.sys; тогда PID всегда равен 4, и, как считает большинство людей, вам понадобится какой-то инструмент, чтобы найти настоящего владельца.
Вот как программно определить нарушающий процесс. Нет TcpView и т. Д. (Как и эти инструменты). Полагается на netsh; но тогда проблема обычно связана с HTTP.sys.
$Uri = "http://127.0.0.1:8989" # for example
# Shows processes that have registered URLs with HTTP.sys
$QueueText = netsh http show servicestate view=requestq verbose=yes | Out-String
# Break into text chunks; discard the header
$Queues = $QueueText -split '(?<=\n)(?=Request queue name)' | Select-Object -Skip 1
# Find the chunk for the request queue listening on your URI
$Queue = @($Queues) -match [regex]::Escape($Uri -replace '/$')
if ($Queue.Count -eq 1)
{
# Will be null if could not pick out exactly one PID
$ProcessId = [string]$Queue -replace '(?s).*Process IDs:\s+' -replace '(?s)\s.*' -as [int]
if ($ProcessId)
{
Write-Verbose "Identified process $ProcessId as the HTTP listener. Killing..."
Stop-Process -Id $ProcessId -Confirm
}
}
Первоначально опубликовано здесь: https://stackoverflow.com/a/65852847/6274530
Для меня эта проблема началась, когда я установил VPN-соединение на моем компьютере с Windows 8.
Простое удаление подключения из «Панель управления \ Сеть и Интернет \ Сетевые подключения» решило проблему.