-
Главная
Список форумов
Полезные советы
-
Поиск
-
- Текущее время: 13 май 2025, 19:12
- Часовой пояс: UTC+03:00
Информация: Конференция переехала на GitHub. Старый форум доступен только для чтения.
Ответить
70 сообщений
-
Страница 1 из 7
- Перейти на страницу:
- 1
- 2
- 3
- 4
- 5
- …
- 7
- След.
-
Максим
- Сообщения: 5513
- Зарегистрирован: 11 дек 2010, 20:29
Если пишет что порт 80 занят
Если пишет что порт 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 »
Доброго времени суток!
Больнучая ситуация.
Сегодня обновил OpenServer до версии 4.7.1 прежняя версия работала исправно,
скачал установил последний OpenServer
и вот весь день не могу запустить его.
ОС Win7Ult.
Отключенные приложения и исключены из автозагрузки
которые потенциально могли занимать порт 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 файл не производит, сервер не запускает.
Нужна помощь!?
-
Максим
- Сообщения: 5513
- Зарегистрирован: 11 дек 2010, 20:29
Сообщение
Максим »
Так а какая вам помощь то нужна? Вам же сервер ясно написал черным по белому — Невозможно занять порт 80 поскольку он уже используется System
Это означает что какая-то системная служба занимает этот порт. Обычно это служба IIS сервера или служба веб-публикаций. Ищите что за служба и отключайте её.
-
malon
- Сообщения: 3
- Зарегистрирован: 25 окт 2012, 17:58
Сообщение
malon »
а у тебя пунто свичера нету? он тоже занимает 80 порт
-
Septor
- Сообщения: 173
- Зарегистрирован: 06 фев 2012, 13:03
Сообщение
Septor »
Не совсем по теме, но мож пригодится кому, по крайней мере у меня работает…
Если надо что бы и сервер и скайп работали вместе, запускаем с начало сервер, а потом скайп. При этом в скайпе у меня галка включена на использовать порт 80 и 443.
При обратной последовательности естественно сервер не запускается.
Возможно и другие программы будут работать совместно, не проверял. Но один минус всё равно есть, это при каждом рестарте сервера останавливать и запускать скайп надо по новой.
-
Age
- Сообщения: 2
- Зарегистрирован: 25 окт 2012, 18:08
Сообщение
Age »
malon писал(а):а у тебя пунто свичера нету? он тоже занимает 80 порт
Malon — спасибо!, отключил Пунто свитчер и все заработало!!!
-
Максим
- Сообщения: 5513
- Зарегистрирован: 11 дек 2010, 20:29
Сообщение
Максим »
Вообще как бы в логе запуска пишется какая программа занимает порт. Что вы тут всё время гадаете — не понятно.
-
Heavenanvil
- Сообщения: 5
- Зарегистрирован: 02 авг 2012, 04:42
Сообщение
Heavenanvil »
А как на счёт Windows Server 2008 R2?
Пишет порт занят, причём Системой. Если я его поменяю в настройках программы, это чревато какими-то последствиями?
-
Максим
- Сообщения: 5513
- Зарегистрирован: 11 дек 2010, 20:29
Сообщение
Максим »
Если занят системой значит порт занимает какая-то служба. Если сменить порт ничего плохого не будет.
-
Heavenanvil
- Сообщения: 5
- Зарегистрирован: 02 авг 2012, 04:42
Сообщение
Heavenanvil »
Ну, для локальной версии то ничего не будет, а если я пытаюсь сделать, чтобы сайт был виден из интернета, приходится после сайта писать порт, например: moysite.ru:81
… что конечно очень неудобно.
И ещё, пока не разобрался, но почему-то FTP-сервер не работает под Windows Server 2008 R2, вроде порт не занят. DMZ на роутере настроил. Open-Server запускается без проблем с настроенным ip и ftp. А всё равно не соединяется.
update:
Проблема с портом 80 решена вот таким способом:
Запускаете Regedit и идете по адресу
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP
и меняете значение Start на 0. Рестарт.
Если и это не помогло, можете поискать решение проблемы здесь или здесь.
p.s. это можно и в шапку добавить.
update:
Проблема с FTP решилась настройками брендмауэра и включением активного режима в ftp-клиенте
Ответить
70 сообщений
-
Страница 1 из 7
- Перейти на страницу:
- 1
- 2
- 3
- 4
- 5
- …
- 7
- След.
POCO, ACE, Loki и другие продвинутые C++ библиотеки
NullReferenced 13.05.2025
В C++ разработки существует такое обилие библиотек, что порой кажется, будто ты заблудился в дремучем лесу. И среди этого многообразия POCO (Portable Components) – как маяк для тех, кто ищет. . .
Паттерны проектирования GoF на C#
UnmanagedCoder 13.05.2025
Вы наверняка сталкивались с ситуациями, когда код разрастается до неприличных размеров, а его поддержка становится настоящим испытанием. Именно в такие моменты на помощь приходят паттерны Gang of. . .
Создаем CLI приложение на Python с Prompt Toolkit
py-thonny 13.05.2025
Современные командные интерфейсы давно перестали быть черно-белыми текстовыми программами, которые многие помнят по старым операционным системам. CLI сегодня – это мощные, интуитивные и даже. . .
Конвейеры ETL с Apache Airflow и Python
AI_Generated 13.05.2025
ETL-конвейеры – это набор процессов, отвечающих за извлечение данных из различных источников (Extract), их преобразование в нужный формат (Transform) и загрузку в целевое хранилище (Load). . . .
Выполнение асинхронных задач в Python с asyncio
py-thonny 12.05.2025
Современный мир программирования похож на оживлённый мегаполис – тысячи процессов одновременно требуют внимания, ресурсов и времени. В этих джунглях операций возникают ситуации, когда программа. . .
Работа с gRPC сервисами на C#
UnmanagedCoder 12.05.2025
gRPC (Google Remote Procedure Call) — открытый высокопроизводительный RPC-фреймворк, изначально разработанный компанией Google. Он отличается от традиционых REST-сервисов как минимум тем, что. . .
CQRS (Command Query Responsibility Segregation) на Java
Javaican 12.05.2025
CQRS — Command Query Responsibility Segregation, или разделение ответственности команд и запросов. Суть этого архитектурного паттерна проста: операции чтения данных (запросы) отделяются от операций. . .
Шаблоны и приёмы реализации DDD на C#
stackOverflow 12.05.2025
Когда я впервые погрузился в мир Domain-Driven Design, мне показалось, что это очередная модная методология, которая скоро канет в лету. Однако годы практики убедили меня в обратном. DDD — не просто. . .
Исследование рантаймов контейнеров Docker, containerd и rkt
Mr. Docker 11.05.2025
Когда мы говорим о контейнерных рантаймах, мы обсуждаем программные компоненты, отвечающие за исполнение контейнеризованных приложений. Это тот слой, который берет образ контейнера и превращает его в. . .
Micronaut и GraalVM — будущее микросервисов на Java?
Javaican 11.05.2025
Облачные вычисления безжалостно обнажили ахиллесову пяту Java — прожорливость к ресурсам и медлительный старт приложений. Традиционные фреймворки, годами радовавшие корпоративных разработчиков своей. . .
Я уже писал о подобной ошибке, но на сервере XAMPP. На Open Server ошибка выглядит так:
--------------------------------------------
Начало процедуры запуска сервера
Невозможно занять порт 80 поскольку он уже используется: c:\program files\skype\phone\skype.exe
Сбой запуска!
Как вы уже поняли, всему виной Skype. Его можно отключить, но что делать, чтобы эти две программы не конфликтовали и поделили порты?
Решение очень простое. Заходим в настройки Open Servera во вкладку «Сервер».
И меняем первые два порта с 80 на 8080 и 443 на 4433. Как на картинке. Пробуем запустить сервер. Все работает!
The other day I decided to install EasyPHP (a WAMP package that includes PHP, Apache, MySQL) on my machine running Windows 7. After install I ran the application, but to my surprise, Apache server was not working. It complained that Port 80 is used by another application. I thought this issue would be easily solved, but it took me a while to figure out what exactly is causing the problem. In this article I will show you what I tried and how I finally solved the Apache problem of not being able to run.
The error message that the EasyPHP gave was this:
Apache port (80) is already used by another application ! Close this application and try to run again the server. To close this application : open <easyphp folder>/binaries/tools/cports/cports.exe, find the line with the port already used in the column “Local Port”, right click and choose “Kill processes of Selected Ports”.
I tried to start server manually but that gave me the following error:
An attempt was made to access a socket in a way forbidden by its access permissions.
make_sock: could not bind to address 127.0.0.1:80
no listening sockets available, shutting down
I could of course just change the port, but I really wanted to find out what is causing this problem.
EasyPHP error message suggested to locate cports.exe to find the culprit, but I decided to first check the Programs and Features in control panel to see if I can figure out why the Apache server cannot listen to default port 80.
Using Programs and Features to look for application causing the issue
Looking at the list of installed programs I quickly found one such application that might be causing this issue. It was IIS Express 8 which was installed long time ago and I have totally forgotten about it. So solution seemed simple. Uninstall IIS Express 8 and the issue will go away, but to my surprise, that still didn’t solve the problem at all. Starting Apache failed again with the same port 80 is busy problem. So I decided to take advice from that EasyPHP error message about using cports.exe.
Running CurrPorts (cports.exe) as the error message suggested
CurrPorts is a little utility that lists all currently opened TCP/IP and UDP ports and the processes that opened those ports. If you also have EasyPHP installed, you should already have this utility. On my machine running Windows 7 64-bit I located cports.exe at:
C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\binaries\tools\cports\
When I ran the cports.exe I got a list processes listening to different ports and there was one listening to port 80, but unfortunately for me, there was no useful information about which process is doing this as shown below:
Click image to enlarge
For Process Name it showed System while Process ID showed 4. Even the option Kill Processes Of Selected Ports was grayed out.
Since currPorts was not giving me the information needed I decided to try my luck with commands in command prompt.
Using netstat command from Command Prompt
The one I tried first was netstat
, a command showing network activity.
Looking at the available parameters, using those listed below seemed worth a try
- -a : Displays all connections and listening ports.
- -n : Displays addresses and port numbers in numerical form.
- -o : Displays the owning process ID associated with each connection.
- -b : Displays the executable involved in creating each connection or listening port. (Requires administrator permission)
Due to –b parameter, I had to run cmd as an administrator as shown below:
Then I typed:
netstat –anob | more
About Pipe (|) and more command: Pipe redirects the output of the netstat
to the next command (in our case more
) which is a pager that displays a content one screen a time. Press space bar to scroll to the next page.
Looking for :80 under Local Address column I had this:
Local Address: | 0.0.0.0:80 |
---|---|
Foreign Address: | 0.0.0.0 |
State: | Listening |
PID: | 4 |
and below all these, there was a message “Can not obtain ownership information”.
PID stands for Process ID with PID 4 being a System Process where most system processes originate from. I tried to use Process Hacker utility to look for any information that would point me to what is causing this problem but I didn’t find any.
So I decided to try another command net stop which is discussed next.
Using net stop command from command prompt
Command net stop <service>
stops a running service. If that service has other services that depend on it, it will output a list of these services and prompts you for confirmation. This seemed like a great way to check what services depend on http service, so I typed the following line:
net stop http
The goal here was not to stop http service, so I didn’t confirm when prompted for confirmation. Instead, I just wanted to get the list of services that use it. The list I received is shown below:
By individually stopping each service in the generated list (by using services.msc), I wanted to find out if any of these services are responsible for taking away port 80. When particular service was stopped and had no effect on Apache, I chose the next service in the list.
After stopping all the services in the list I was still getting the error, so I went back to the web looking for possible causes and what caught my attention was http.sys process which is discussed next.
Quick guide on how to stop and disable the service
- Open the Start Menu, search for services.msc in the search box and run it. The new window will show up with a list of all the services.
- To stop a service, find the one you are looking for, right-click on it and select Stop. To make sure, the service stops even after computer restart, disable the service all together.
- To disable the service, right-click on that service, choose Properties and under General Tab for option Startup type, select Disabled in dropdown menu and click OK. Before disabling the service, you might want to find out first what role the service has, just to make sure you don’t really need it.
Finding out processes that use http.sys
Http.sys is a driver that enables multiple processes to listen to HTTP traffic on the same port. But examining this driver in Task Manager and also on Process Hacker revealed no useful information relating to ports.
And then I stumbled upon HttpSysManager tool. This looked like a very promising little utility that might reveal what is blocking Apache to listen on the default port. I ran the application, selected Acls tag and found some prefixes with port 80 on it as shown below:
Two of them were for SQL Reports. I quickly checked the list of services and found SQL Server Reporting Services (SSRS). After I stopped it Apache was able to run without error.
There was still one thing to check up. I wondered if this SQL Reporting service was the only culprit or will any of the stopped services from the net stop http
list still cause problems. By restarting all those services the Apache was unable to run once again. In the end it turned out that besides SQL Server Reporting Service I also had to disable World Wide Web Publishing Service (W3SVC). After those two were disabled, port 80 was finally available for Apache.
Conclusion
If Apache won’t start on port 80, we can either set it to listen to another port, or we can try to locate the application or service and stop them if they are not needed. With the help of CMD commands and various utilities this can be an easy task, but if the Process listening to port 80 is System Process with PID 4, then it takes a little more effort.
I hope you found the information here useful. If so, consider dropping a comment or share the post on social networks.