Эта статья была написана в 2011 году и остается одной из наших самых популярных публикаций. Если вы хотите больше узнать об использовании Apache, вам может быть интересна эта более свежая статья о запуске виртуальной машины с Apache CloudStack .
Если бы только клиенты поняли, с какими трудностями разработчики сталкиваются с их ОС. Клиенты будут звонить вам в тот момент, когда произойдет сбой электронной почты (они забыли включить маршрутизатор) или произойдет сбой их веб-сайта (они используют IE5.0) . Кому можно звонить, когда Apache не запускается, потому что порт 80 заблокирован?
Извиняюсь за то, что не написал типичный пост по веб-разработке, но это именно та проблема, с которой я столкнулся, и, похоже, многие другие тоже. Я запускаю Apache и IIS в Windows и предпочитаю метод переключения серверов, поэтому только одно приложение прослушивает порт 80 в любое время. Он работает хорошо, и я уже много лет запускаю аналогичные установки на Windows 7, Vista, XP и NT.
Однако сегодня Apache не запустится. В средстве просмотра событий приложения (средства администрирования) появилась следующая ошибка:
Названная служба Apache сообщила о следующей ошибке: >>> (OS 10013) Была сделана попытка доступа к сокету способом, запрещенным его правами доступа. : make_sock: не удалось привязаться к адресу 0.0.0.0:80.
Еще одно приложение было порт 80.
Очевидные кандидаты
Существует ряд известных программ Windows, использующих порт 80:
IIS
Наиболее вероятный виновник — Microsoft Internet Information Server. Вы можете остановить службу из командной строки в Windows 7 / Vista:
чистый стоп был / у
или XP:
чистый стоп иисадмин / г
Службы отчетов SQL Server
SSRS может оставаться активным, даже если вы удалите SQL Server. Чтобы остановить службу:
- Откройте диспетчер конфигурации SQL Server.
- Выберите «Службы SQL Server» в левой панели.
- Дважды щелкните «Службы отчетов SQL Server».
- Хит Стоп.
- Перейдите на вкладку «Сервис» и установите режим запуска «Ручной».
Skype
Раздражающе, Skype может переключиться на порт 80. Чтобы отключить его, выберите Сервис> Параметры> Дополнительно> Подключение, затем снимите флажок «Использовать порты 80 и 443 в качестве альтернативы для входящих подключений».
Что использует порт 80?
Дальнейшая детективная работа необходима, если IIS, SSRS и Skype не виноваты. Введите следующее в командной строке:
netstat -ao
Будут перечислены активные TCP-адреса и порты — найдите строку с локальным адресом «0.0.0.0:80» и запишите значение PID.
Теперь щелкните правой кнопкой мыши панель задач и выберите «Запустить диспетчер задач». Перейдите на вкладку «Процессы» и, если необходимо, нажмите «Вид»> «Выбрать столбцы…», чтобы убедиться, что установлен «PID (идентификатор процесса)». Теперь вы можете найти PID, который вы отметили выше. Описание и свойства должны помочь вам определить, какое приложение использует порт.
Диспетчер задач позволяет вам убить процесс, но немного осторожнее — особенно если это «NT Kernel & System».
Microsoft-HTTPAPI / 2,0
NT Kernel & System — важный сервис. Остановка этого, вероятно, остановит Windows в стиле, похожем на синий. Поэтому введите в командной строке следующее:
телнет 127.0.0.1 80
Если вы столкнулись с пустым экраном, введите «GET» и нажмите «Return». Скорее всего, вы увидите строку, в которой говорится, что Microsoft-HTTPAPI / 2.0 прослушивает порт 80. Если это так, откройте Службы из Администрирования и найдите «Служба агента веб-развертывания». Остановите службу и установите тип запуска «Ручной».
Служба агента веб-развертывания развернута вместе с WebMatrix и стала причиной моих проблем. Он также может распространяться с другими приложениями, установленными с помощью установщика веб-платформы Microsoft.
Это вызвало у меня несколько разочаровывающих часов, поэтому я надеюсь, что это решит ваши проблемы с запуском Apache или WAMP.
Если вам понравилось читать этот пост, вы полюбите Learnable ; место, чтобы узнать новые навыки и приемы у мастеров. Участники получают мгновенный доступ ко всем электронным книгам и интерактивным онлайн-курсам SitePoint, таким как PHP и MySQL для веб-разработчиков для начинающих .