More than once I encountered the problem that Apache cannot start due to the fact that another process is already using port 80. Actually, after a long and painful surfing across the expanses of the Russian-speaking, and then the English-speaking Internet, I collected all sorts of ways to eliminate and the causes of this problem. These same reasons and ways to solve them, and I want to list here.
(OS 10048) Only one usage of each socket address (protocol/network address/port) is normally permitted. : make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
The simplest and most common cause of this problem is Skype.
')
The first step is to check the Skype settings. Go to
Tools / Settings / Advanced / Connection / and remove the checkmark
"Use ports 80 and 443 as incoming alternatives .
" Save and restart Skype for the settings to take effect. And it is better to recheck this setting again, because it happened that it was not saved for an unknown reason.
If it does not help, then you need to look for the process that uses our port.
Open the console:
Main menu-> Run-> enter
cmd and press enter.
In the console, enter the following command
netstat -aon | findstr 0.0:80
The left part of the command will return to us the current status of all ports, and the right will find in them the 80 port we need.
Look at the result and look for the last column PID. Remember it. This is the ID of the required process.
If this is a process with a PID not equal to 4, then do the following.
Go to the Task Manager and look for the process we need. By default, the PID is not displayed. To do this, go to the
View / Select columns and tick the
"process ID (PID)" . We save and see that the column
“Process ID” has appeared next to the process name.
We are looking for a process with the required identifier. There you do with this process as you wish, you can just kill it, remove it from autoload, delete the entire application, etc.
In the case when the PID was equal to 4, this means that port 80 is used by the system (system process) and in the Task Manager you will see the name of the process System.
A faster way to find the name of the process suggested
074909 , for which a special thanks to him:
In the console, enter the following command:
for /f "tokens=1,2,3,4,5*" %i in ('netstat -aon ^| findstr ":80" ^| findstr /i listening') do echo %j %l & @tasklist | findst
r %m
which will return the name of the required process.
There are several solutions, and only God knows which one will suit you.
The first.
These are tricks of some services:
- Windows Remote Management - Remote Management Services
- Sql server reporting services (MSSQLSERVER) - Reporting Services (SSRS) - SQL Server Reporting Services
- Web Deployment Agent Service
Actually it is necessary to disable these services.
- PCM on "My Computer"
- Control
- Services and Applications
- Services
- We find the necessary services and stop them.
If it did not help, you can turn them back =) and move on to the next point. The same thing needs to be done if you have not found these services in your home (I’ve only found WinRM on win7).
The second.
Prank 'http.sys'
Then I found 2 ways that were not very different from each other, it was the 2nd that helped me, but judging by the comments, the 1st also helped a lot of people.
They start the same way.
1) Go to the registry.
Run-> regedit2) To the
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ HTTP branch
And the difference in these methods:
3) Create a Dword parameter with the name “NoRun” and assign it the value “1” without quotes.
or
3) We look for the parameter “Start” and change the value to “0” without quotes naturally.
4) Restart the computer.
We rejoice in life =)
Materials:http://www.mydigitallife.info/how-to-check-and-identify-which-application-is-listening-or-opening-port-80-and-443-on-windows/http://superuser.com/questions/43307/whys-is-system-process-listening-on-port-80http://stackoverflow.com/questions/1430141/port-80-is-being-used-by-system-pid-4-what-is-thathttp://serverfault.com/questions/65717/port-80-is-being-used-by-system-pid-4-what-is-thathttp://www.cameroncooke.com/2009/01/25/windows-7-uses-port-80-and-makes-it-impossible-to-install-apache-solution/