Перейти к содержимому

Как освободить 80 порт

  • автор:

освободить порт 80

Есть свой веб-сервер, который надо посадить на 80 порт, и который абсолютно свободен (там нет открытых сокетов), но где-то он зарезервирован для использования веб-серверов.

Как мне сообщить что моя программа как раз и есть веб-сервер?

На любом другом порте всё работает, а под root’ом 80 порт тоже работает отлично. Арач и нгникс не установлены. netstat -lantp показывает открытые только два порта: для ssh и mysql. Ось — CentOS.

VenyaTolinov
28.04.11 23:37:39 MSK

CentOS automatically blocks port 80 out-of-the-box

Как мне сообщить что моя программа как раз и есть веб-сервер?

Тут два варианта: либо написать об этом на корпусе на трёх языках, либо выкрикнуть поочерёдно на трёх языках в открытое окно.

показывай iptables-save и открывай порт что ли

adriano32 ★★★
( 28.04.11 23:47:21 MSK )

kernelpanic ★★★★★
( 28.04.11 23:51:28 MSK )

> под root’ом 80 порт тоже работает отлично

т.е. приложение запускается не из под рута? первые 1024 порта может слушать только приложение с правами root

initab
( 28.04.11 23:52:29 MSK )

1-1024 порты доступны только для root. Или используй порт из младшего диапазона, или запускай свою софтину из-под root.

blackst0ne ★★★★★
( 29.04.11 00:04:34 MSK )
Ответ на: комментарий от blackst0ne 29.04.11 00:04:34 MSK

>1-1024 порты доступны только для root

Ну да, так оно и есть. А как же апач на 80 порт садится он же не рут?

VenyaTolinov
( 29.04.11 00:35:51 MSK ) автор топика
Ответ на: CentOS automatically blocks port 80 out-of-the-box от adriano32 28.04.11 23:47:21 MSK

@adriano32, @kernelpanic, @initab вам тоже спасибо за участие, но вопрос пока открыт (мне так кажется).

VenyaTolinov
( 29.04.11 00:38:14 MSK ) автор топика

>Ось — CentOS.

SeLinux включён? Если да, то гуглите audit2allow.

mky ★★★★★
( 29.04.11 00:46:03 MSK )
Ответ на: комментарий от VenyaTolinov 29.04.11 00:35:51 MSK

Он запускается как root, берёт порт и потом перестаёт быть root’ом.

mky ★★★★★
( 29.04.11 00:48:39 MSK )
Ответ на: комментарий от mky 29.04.11 00:48:39 MSK

> Он запускается как root, берёт порт и потом перестаёт быть root’ом.

Вообще-то нет, под кем запустился под тем и остаётся. Сервер — WSGI обычный.

P.S.: SeLinux — включён.

VenyaTolinov
( 29.04.11 01:10:23 MSK ) автор топика
Ответ на: комментарий от VenyaTolinov 29.04.11 01:10:23 MSK

>>1-1024 порты доступны только для root

Ну да, так оно и есть. А как же апач на 80 порт садится он же не рут?

Он запускается как root, берёт порт и потом перестаёт быть root’ом. Вопрос был про apache и ответ про него. Хотя, на самом деле, один процесс у apache остаётся root’ом.

А SeLinux может давать дополнительные палки в колёса, можно посмотреть /var/log/audit/audit.log, хотя обычному пользователю порт 80 не получить.

mky ★★★★★
( 29.04.11 01:34:34 MSK )
Ответ на: комментарий от mky 29.04.11 01:34:34 MSK

> хотя обычному пользователю порт 80 не получить.

Похоже на горькую правду.

VenyaTolinov
( 29.04.11 01:41:33 MSK ) автор топика
Ответ на: комментарий от VenyaTolinov 29.04.11 00:35:51 MSK

> Ну да, так оно и есть. А как же апач на 80 порт садится он же не рут?

Он запускается изначально как root.

blackst0ne ★★★★★
( 29.04.11 01:54:00 MSK )
Ответ на: комментарий от blackst0ne 29.04.11 01:54:00 MSK

Один процесс родительский, который слушает порт о порождает дочерние процессы под рутом. Дочерние, если позволяет приложение работать от простого пользователя, он него и запускаются. Если приложение этого не может, то и все дочерние от рута.

Это не только апач, это все уважающие себя демоны, клиент соединяется с сервером и для него запускается отдельный процесс, работающий от простого пользователя.

Дочерние процессы, могут и заранее запускаться, какое-то их количество, для увеличения скорости обработки, но это сути не меняет.

Что делать если порт 80 занят процессом SYSTEM

4kSmartTV

Windows 7 – процесс system висит на 80 порту PID 4? Замучались искать решение. Если ответ положительный, то я вас прекрасно понимаю. На одной машинке с windows 7 решил поставить веб-сервер…убил пол дня. Как раз таки из-за падений apache. Ругался он довольно неожиданно для меня. На то, что порт 80 уже занят. Что ж. Запускаем командную строку и пишем netstat -o -n -a | findstr 0.0:80 На что получаем: TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4 Последнее число 4 это PID процесса, т.е. уникальный идентификатор процесса — то, что нужно.

Запускаем диспетчер задач. Выбираем вкладку процессы. Далее в меню вид нас интересует пункт «выбрать столбцы» и отмечаем галочкой пункт «ИД процесса (PID)». Находим процесс, у которого PID = 4 это оказывается процесс system. Описание у процесса system “NT Kernel & system”. По началу даже возникла мысля что это вирус. Но во превых это встретилось на всех машинах с windows 7 или window server 2008 R2. Процесс System имел PID 4 и везде занимал порт 80. Прибить его нельзя, да и незачем. Путем длительного обращения к гуглу и изучению тонны материалов. Большинство пишет про то что я и так знал… что порт 80 занял skype, но к сожалению это не наш случай.

На одном из ресурсов было установлено что это компонент нашей любимой windows запускается через обертку system. А именно “http.sys”. Эта бяка оказалась живучей…в службах найти не удалось. Несколько советов отключения через реестр тоже не помагало, гадский драйвер весел. Хотя мне и удалось отключить его автоматический запуск. При старте windows 7 порт 80 был свободен, но как только была попытка запустить Apache тут же поднимался драйвер http.sys и занимал порт 80. Это подтвердил лично просмотрев утилитой «ProcessExplorer» все потоки (Threads) процесса system там нам показали что http.sys по прежнему запущен…

Освободить порт 80 занятый system в windows 7 удалось следующим путем.

1. Win+R вводим “regedit” (без кавычек).

2. Ищем ветку «HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP»

3. Меняем значение ключа “start” с 3 на 4…до этого встречал советы ставить 0. Так вот мне ноль не помог.

4. Перезапускаем компьютер.

5. Радуемся тому, что так быстро нашли нужную информацию.

Что делать, если System занимает 80 порт и как освободить порт 80 на Windows

Порой попадаешь в интересные и, местами, казусные ситуации. Мне нужно было срочно доработать один сайт у заказчика и я, естественно, развернул локальный сервер на ноутбуке, который мне там любезно предоставили. Я не стал заморачиваться с отдельными настройками Apache, MySQL, PHP а просто решил использовать готовые продукты типа WAMP.

Конечно, кто занимается или даже пробовал заниматься веб-разработкой, наверняка вспомнят о пресловутом Денвере, который, увы, перестал обновляться. Хорошая вещь некогда была, но сейчас Денвер безнадежно устарел и использовать его бессмысленно. Что ж, такая судьба всегда ждет проекты, построенные на голом энтузиазме…

Раньше для быстрого тестирования и разработке на винде я использовал WAMP, но как то незаметно для себя перешел на XAMPP, хотя, на самом деле, разницы особой я не замечаю и WAMPмне все же как то удобнее кажется. Но дело вкуса.

И вот, когда я установил это все, скинул в директорию архив с сайтом и начал настраивать окружение для работы, Апачи ругнулся на занятый 80 порт в системе.

Я первым делом проверил наличие запущенных программ TeamViewerи Skype, так как они и занимают обычно этот порт. Эти программы установлены не были и моя догадка летела в тартары.

Ладно, запустив команду netstat –ab, мне было выдано, что 80 порт занимает system.exe. Вот это, честно говоря в тупик меня и поставило. Первой мыслью было, что это вирус, но догадка была беспочвенной, так как на ноутбуке стоял хороший антивирус. Тогда я начал экспериментально вырубать службы Windows, и, о чудо, нашел что блокировало порт.

Виновницей оказалась Служба Web-публикаций. Простая остановка службы решила все проблемы с занимаемым портом. Честно говоря, лично мне было досадно, что все оказалось настолько просто, а я почти час мучал ноутбук, пытаясь найти гаденыша..

Надеюсь, что вы не наступите на мои грабли и быстренько решите проблему, когда system.exe занимает 80 порт с PID 4.

  1. Что делать, если в Windows вместо ярлыков отображаются значки блокнота (нарушена файловая ассоциация)
  2. Что делать, если слетела активация Windows 7
  3. Что делать, если не открывается меню Пуск на Windows 10
  4. Что делать, если после перезагрузки сбивается расположение ярлыков на рабочем столе Windows 10
  5. Решаем проблему с сетевым обнаружением в Windows 7
  • Главная
  • Устранение неполадок с компьютером

Форум

Если пишет что порт 80 занят, то это означает что у вас на самом деле занят порт 80 или идёт перехват подключения программы к сети антивирусом/фаерволом/прокси. Ниже наиболее частые причины:

— Skype занял порт 80 и 443. Решение: снимите в настройках галочку с опции «Использовать порты 80 и 443 в качестве альтернативных»;

— Порт занят другим сервером (Denwer, XAMPP и т.д.). Решение: настройте Open Server на использование другого IP нежели тот, на котором уже работает другой локальный сервер.

— Порт занят Windows версии 2008/2003 Server на всех IP. Решение: Пуск — Выполнить — services.msc, и отключить все службы где есть слова IIS.

— Порт никем не занят, но Open Server всё равно ругается. Решение: добавьте Open Server в «доверенные программы» или отключите слежение за портами 80/443/21/90xx/3306 в вашем антивирусе/фаерволе/прокси-сервере. В отдельных антивирусах/фаерволах возможны свои доп. настройки связанные с перехватом подключений программ к сети. На крайний случай в настройках Open Server можно включить «быстрый запуск», но делать это очень не рекомендуется, поскольку Open Server не будет проверять корректность запуска своих сервисов.

Age Сообщения: 2 Зарегистрирован: 25 окт 2012, 18:08

Проблема порт 80 занят

Непрочитанное сообщение Age » 25 окт 2012, 18:18

Доброго времени суток!

Больнучая ситуация.
Сегодня обновил OpenServer до версии 4.7.1 прежняя версия работала исправно,
скачал установил последний OpenServer
и вот весь день не могу запустить его.

Отключенные приложения и исключены из автозагрузки
которые потенциально могли занимать порт 80:
1. DropBox;
2. Skype;
3. TeamViewer;
4. ComodoClouds;
5. VM VirtualBox.

Компьютер, отключен от сети интернет.

и все равно лог выдает следующее:

2012-10-25 19:06:53 Начало процедуры запуска сервера
2012-10-25 19:06:53 Невозможно занять порт 80 поскольку он уже используется System
2012-10-25 19:06:53 Сбой запуска!

Прочих лок.серверов не установлено, host файл открыт на запись, антивирус и фаервол отключены.

запись в host файл не производит, сервер не запускает.
Нужна помощь!?

Максим Сообщения: 6024 Зарегистрирован: 11 дек 2010, 20:29

Так а какая вам помощь то нужна? Вам же сервер ясно написал черным по белому — Невозможно занять порт 80 поскольку он уже используется System

Это означает что какая-то системная служба занимает этот порт. Обычно это служба IIS сервера или служба веб-публикаций. Ищите что за служба и отключайте её.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *