Как гарантированно освободить 80 порт в Windows? Несколько вариантов решения проблемы
Большинство пользователей узнает о том что на их компьютере занят 80-й порт когда пытается его использовать, о проблеме становится известно если Вы вдруг решите стать веб-разработчиком и захотите поставить на Windows Apache, Denver, OpenServer или любую другую программу для работы которой потребуется свободный 80-й или 443 порт.
Что бы узнать какая программа занимает 80 порт можно использовать утилиту CurrPorts
Или использовать для этого командную строку запущенную от имени Администратора:
netstat -o -n -a | findstr 0.0:80
Эта команды выведет примерно такую строчку, последнее число это PID идентификатор процесса который занимает 80-й порт, по нему можно найти процесс в диспетчере задач:
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
Значение PID может быть разным, так как 80-й порт потенциально может использовать довольно большое количество программ, чаще всего 80-й порт занимает процесс System с PID 4 и
Skype, если обе не ваш случай, то в конце статьи будет расширенный список программ которые могут занимать 80-й порт.
Итак мы выяснили что в нашем случае 80 порт занят процессом System, в большинстве случаев это означает что для его освобождения нужно проделать следующее, зайдите в Панель управления в раздел Программы и компоненты, в меню слева выберите «Включение или отключение компонентов Виндовс», найдите в списке «Службы IIS» и снимите все галочки:
Согласитесь с отключением служб и нажмите Да.
После этого для верности можете перегрузить компьютер и 80-й порт станет свободным, теперь Вы можете его использовать.
Если 80-й порт занят программой Skype, то освободить его еще проще, откройте инструменты — настройки — соединение снимите галочку «Для дополнительных входящих соединений следует использовать порты 80 и 443», нажмите сохранить. Если 80-й порт по прежнему занят проверьте настройки еще раз, иногда они не сохраняются с первого раза.
Иногда 80-й порт занимают другие программы, в этом случае освободить его можно изменив настройки этих программ или отключив службы.
Список программ которые могут занимать 80-й порт:
- TeamViewer версии ниже 12, для освобождения порта 80 нужно зайти в Дополнительно — Опции — Дополнительно — Показать дополнительные настройки и далее в спике опций найти что-то вроде «Не использовать входящие порты 80 и 443» — поставить галочку;
- Служба веб-публикаций W3SVC
- CoDeSys, а именно ENI server
- Служба агента веб-развертывания
- Служба VMware Workstation Server или VMwareHostd
- Служба Телефония
- Agnitum Outpost Firewall Pro — порты не занимает но может их блокировать и скорей всего блокирует в конфигурации по умолчанию
- Служба веб-публикаций
- Изредка 80-й порт могут занимать браузеры Firefox, Explorer, Chrome, Opera, точнее установленные в них расширения
- Служба SQL Server Reporting Services (MSSQLSERVER)
- Так же в реестре можно посмотреть какие порты занимает система по протоколу Http, для этого откройте редактор реестра и пройдите по пути: HKEY_LOCAL_MACHINE — SYSTEM — CurrentControlSet- Services- HTTP — Parameters — UrlAclInfo
- Если ничего не помогает, откройте редактор реестра и ветку HKEY_LOCAL_MACHINE — SYSTEM — CurrentControlSet — Services — HTTP, измените значение параметра Start на 0 или на 4 (0 помогает не во всех случаях) дополнительно здесь же можно создать параметр типа Dword c именем «NoRun» и значением «1» без кавычек.
Если после выполнения всех рекомендаций у Вас по прежнему занят 80-й порт — пишите в комментариях разберемся вместе!
Запуск XAMPP — как освободить порт 80
Вступление
После установки XAMPP — локального сервера готовой сборки, на свой компьютер, может возникнуть проблема занятости порта 80, необходимого для запуска веб – сервера Apache, входящего в сборку XAMPP. В этой статье решим эту проблему, на скриншотах Windows 7.
Кнопки запуска XAMPP
Запуск XAMPP (на Windows) проводится от имени администратора. Сам запуск, очень простой, достаточно из меню «Пуск», запустить XMAPP Control Panel.
При запуске XAMPP, система проведет анализ системы компьютера и в информационном поле панели сообщит о готовности системы к запуску или покажет ошибки, мешающие запуску XAMPP.
На первом фото видим, пример отсутствия ошибок для запуска.
На втором фото, видим, одну из возможных ошибок, которые мешают запустить веб сервер Apache платформы XAMPP.
Примечание: Стоит отметить, что проблема занятости порта 80 характерна для старта веб сервера Apache, на любой сборке. По умолчанию, файл конфигурации Apache, настроен на запуск на порту 80.
Два принципа решения проблемы занятости порта 80 Windows
Есть два способа решения проблемы занятости порта 80, и освободить порт 80 можно двумя подходами:
• Освободить порт 80, отключив другие службы использующие порт 80 (рекомендован).
• Перестроить веб сервер Apache для работы на другом порту (не рекомендован).
Диагностика порта 80 из командной строки
Прежде всего, нужно понять, какая служба использует локальный порт. Для начала, проведем диагностику занятости порта 80 из командной строки.
Есть две команды, помогающие определить реальную программу, которая использует HTTP.sys и блокирует порт 80. К сожалению, они трудно читаются.
Откройте командную строку от имени администратора;
(покажет активные зарегистрированные URL-адреса).
Диагностика порта 80 инструментами XAMPP
Так как мы работаем с XAMPP, то и решать проблему занятости порта 80, начнем с помощью инструментов XAMPP.
- Запускам контрольную панель XAMPP из меню «Пуск»;
- Видим и жмем кнопку «Netstat»;
- В окне, видим все порты системы (компьютера), и службы которыми они заняты.
фото 1. Порт 80 занят и занят службой Windows. Видим порт 80, PD 4, занят службой System;
фото 2. Порт 80 занят, но уже запущенным по умолчанию веб сервером Apache (httpd.exe).
Запуск XAMPP, остановка XAMPP
Сразу посмотрим, как запускать XAMPP, если нет ошибок. Если ошибок нет, просто запускаем XMAPP кнопками «Start» запуская модули:
• Apache;
• MySQL;
• Mercury. Это почтовый сервер, его запускать необязательно.
Фото запущенных модулей сервера XAMPP.
Останавливаем модули XAMPP кнопками «Stop».
Способы освободить порт 80 и провести запуск XAMPP
Переходим к освобождению порта 80.
Вариант 1. Отключаем службу IIS
Информацию, которую мы посмотрели на кнопке «Netstat», «порт 80, PD 4, занят службой System», мало поможет в решении проблемы, освободить 80 порт. На практике, если вы не используете Skype, чаще всего на Windows 7, порт 80 занят службой IIS. Поэтому в первом варианте решения проблемы, отключаем службу IIS.
Для этого идем следующим путем: Пуск>>>Панель управления>>>Все элементы… (мелкие значки)>>>Включение и отключение компонентов Windows.
Далее, снимаем чек со службы IIS и перегружаем компьютер.
Запускаем XAMPP заново.
Вариант 2. У вас стоит Skype
Если вы используете Skype, то XAMPP выдаст вам несколько иную информацию, по которой сразу понятно, что Skype нужно перевести на другой порт. Skype можно легко перестроить, чтобы не использовать по умолчанию порты Apache 80 и 443. Это изменение обычно не имеет побочных эффектов. Для этого, входите в панель Skype и убираете чек с портов 80 и 443.
убираете чек с портов 80 и 443
Вариант 3.
Идем в службы Windows. Есть два пути:
- Из панели XAMPP, кнопка «Services»;
- Из меню «Пуск», Панель управления>>>Администрирование>>>Службы.
Вы отлично видите все службы Windows, видите их активность (запуск), но не видите порт, на котором они работают.
Вариант 4. Перестройка или изменение настроек XAMPP
Можно пойти другим путем и не трогать занятый порт 80, а попробовать запустить Apache на другом порту, например, 10080 или 8080.
Важно! Изменение портов работы Apache имеет ряд побочных эффектов. Поэтому поддержка XAMPP, не рекомендует изменять порты Apache. Лучше поискать другие решения, чтобы освободить 80 порт для работы Apache.
- Для изменения настроек XAMPP, запускаем XAMPP Control Panel.
- Теперь нас интересую кнопки: [Config], а точнее, строка Apache кнопка [Config].
- Видим файлы конфигурации и открываем для редакции файл httpd.conf. Можно добраться до этого файла из папки \xampp\apache.
- Открываем файл в текстовом редакторе, Notepad++ от имени администратора В редакторе открываем файл: \xampp\apache\conf\httpd.conf. Ищем строку:
- В строке: меняем 80 на 10080;
- Аналогичные изменения делаем в строках:
ServerName localhost: 80
- Аналогичные изменения делаем в файле: \xampp\apache\conf\extra\httpd-ssl.conf , в строках:
• Listen 443
•
• ServerName www.example.com:443
Меняем 443 на 100443
• Запускаем панель управления XAMPP. Жмем кнопку [Config] системы.
• Далее Кнопка [Service and port changes] • На вкладке Apache меняем главный порт и порт SSL на новые порты
• Нажмите [Save] • Перезагружаем панель управления XAMPP.
• Запуск XAMPP заново.
Как проверить работу XAMPP
После запуска модулей XAMPP, нужно проверить его работу. Для этого, в адресной строке браузера пишем localhost и смотрим результат.
Важно! Если вы сделали всё правильно, откроется панель управления XAMPP сервером. Вот фото.
Видим кнопки управления сервером:
На кнопке PHP info смотрим сборку сервера. Кнопка PHP myadmin понадобится для создания базы данных и установки CMS, чем и займемся в другой статье.
Вывод
Запуск XAMPP возможен если свободен порт 80. Лучшим вариантом освобождения порта 80 (443), необходимого для запуска модуля Apache XAMPP, будет поиск и отключение службы Windows использующий этот порт для своих побочных задач. Чаще всего это IIS, Skype.
День добрый! Меня зовут Евгений. Я IT специалист и web — разработчик.
Яловой Евгений
Россия, Краснодар
Освобождаем 80 порт в windows 7 — 10
Компьютерная помощь, разработка сайтов и не только.
Освобождаем 80 порт в windows 7 — 10
Доброго времени суток.
Не раз сталкивался с тем, что 80 порт занят и не удаётся
Чаще всего причина появления данной проблемы это Skype.
Для начало проверяем настройки Skype.
и убираем галочку «Использовать порты 80 и 443 в качестве входящих альтернатив».
Сохраняем и перезапускаем Skype для применения настроек.
Повторно перепроверяем, так как бывает, что она не сохранялась по не понятной причине.
Так же порт могут занимать следующие службы:
- Windows Remote Management — Службы удаленного управления
- Sql server reporting services(MSSQLSERVER) — Cлужбы Reporting Services
- (SSRS) — Службы отчетов SQL Server
- Web Deployment Agent Service
Собственно необходимо их отключить.
ПКМ по «Мой компьютер» — > Управление -> Службы и приложения -> Службы -> Находим необходимые службы и
Если не помогло, то включаем их обратно или не включаем
Так же если вы их не нашли, переходим дальше.
Это могут быть Проделки ‘http.sys’
Есть два способа решения проблемы, оба работают:
1) Выполнить->regedit
2) В ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP
1) Создаем параметр Dword, даём ему имя «NoRun» и присваиваем значение 1.
2) Перезагружаем компьютер
1) Ищем параметр «Start», изменяем его значение на 0.
2) Перезагружаем компьютер.
На Win 10 Pro x64 мне помог именно, второй способ.
Удачи