How do I free my port 80 on localhost Windows?

WindowsXamppWindows XpLocalhostPort

Windows Problem Overview


I installed XAMPP 1.6.8 and for some reason it didn't work. Later realized port 80 is not free or not listening. How can I release it or make it free?

Thanks a lot!

Windows Solutions


Solution 1 - Windows

That agony has been solved for me. I found out that what was taking over port 80 is http api service. I wrote in cmd:

net stop http

Asked me "The following services will be stopped, do you want to continue?" Pressed y

It stopped a number of services actually.

Then wrote localhost and wallah, Apache is up and running on port 80.
Hope this helps

Important: Skype uses port 80 by default, you can change this in skype options > advanced > connection - and uncheck "use port 80"

Solution 2 - Windows

netstat -ano

That will show you the PID of the process that is listening on port 80. After that, open the Task Manager -> Processes tab. From the View -> Select Columns menu, enable the PID column, and you will see the name of the process listening on port 80.

Solution 3 - Windows

I had this problem previously,

if you see the Task manager(after enabling the view for PID), you will find PID=4 is "port 80 in use by NT Kernel & System; "

Just go to

  1. Control Panel
  2. Programs
  3. Turn Windows features on/off
  4. check if the World wide web services under IIS is checked

If so, Uncheck and netstat(or TCPVIEW) again to see if 80 is free.

Solution 4 - Windows

netstat -a -b

Should tell you what program is bound to port 80

Solution 5 - Windows

use netstat -bano in an elevated command prompt to see what apps are listening on which ports.

But Usually following applications uses port 80 in windows.

  1. IIS
  2. World Wide Web Publishing service
  3. IIS Admin Service
  4. SQL Server Reporting services
  5. Web Deployment Agent Service

Stop above applications if running and check!!!

Solution 6 - Windows

Use TcpView to find the process that listens to the port and close the process.

Solution 7 - Windows

Other option to try is to stop SQL Server Reporting Services.

Solution 8 - Windows

Try

netstat -anb -p tcp

that show ports and processes

Solution 9 - Windows

You can use net stop http it will display which process is using. Moslty world wide web services are using

Solution 10 - Windows

Type in "netstat -ano" into your command line. I saw that it was showing something for Local Address port 0.0.0.0:80.

My issue was because I had SQL Server Reporting Services on Port 80. So I followed these instructions and changed the port # from 80 to 81:

http://seankilleen.com/2012/11/how-to-stop-sql-server-reporting-services-from-using-port-80-on-your-server-field-notes/

Here is a picture of my command line AFTER I changed the port number for SQL Server Reporting Services:

enter image description here

If you are still having the same issue, read this forum:

http://forum.wampserver.com/read.php?2,66196,66233#REPLY

Solution 11 - Windows

I was trying to install nginx from here - http://nginx.org/en/docs/windows.html

Going to http://localhost/ will show something, at least a proper "not found" message
This is because 80 is the default port, and it was taken by other processes.

Now run below command:

net stop http

    // Above command stopped below services  
    // - SSDP Discovery  
    // - Print Spooler  
    // - BranchCache  
    // - Function Discovery Resource Publication  
    // - Function Discovery Provider Host  

Now, going to http://localhost/ will fail with a broken link page message.

Main process was BranchCache
This process, after stopped, will restart in a few seconds.
So we need to run other commands we need soon, an example below:

// this will stop
net stop http

// immeidately run other command you want to
start nginx

Now, going to http://localhost/ gave me:

Welcome to nginx!

Hope that helps.

Solution 12 - Windows

This is just a guess, but since port 80 is the conventional port for HTTP, you may have a webserver running on your system. Is IIS active?

If you are running IIS you may have the web farm service running. That was what was killing my xampp.

Solution 13 - Windows

Skype likes to use port 80 and blocks IIS. That was my prob.

Solution 14 - Windows

I also had the same problem. net stop http didn't help and World wide web services option under IIS in Windows Control Panel was unchecked. So in XAMPP control panel I just checked the Svc checkbox near Apache start button (Install Apache as service) and rebooted Windows. And now each time Windows starts Apache is started automatically and occupies port 80 before any other service does. Worked for me!

Solution 15 - Windows

Known Windows Services That Listen on Port 80

From Services Manager (run: services.msc), stop and disable these Windows Services which are known to bind to port 80.

Double click Service, and change ‘Startup Type’ to ‘Disabled’…

  1. SQL Server Reporting Services (ReportServer)
  2. Web Deployment Agent Service (MsDepSvc)
  3. BranchCache (PeerDistSvc)
  4. Sync Share Service (SyncShareSvc)
  5. World Wide Web Publishing Service (W3SVC)
  6. Internet Information Server (WAS, IISADMIN)

skype also using port 80 as default setting and you can uncheck it.

You might, or might not, have some of these Services installed and running.

In my case "SQL Server Reporting Services" was opening port 80.

Solution 16 - Windows

Identify the real process programmatically

(when the process ID is shown as 4)

The answers here, as usual, expect a level of interactivity.

The problem is when something is listening through HTTP.sys; then, the PID is always 4 and, as most people find, you need some tool to find the real owner.

Here's how to identify the offending process programmatically. No TcpView, etc (as good as those tools are). Does rely on netsh; but then, the problem is usually related to HTTP.sys.

$Uri = "http://127.0.0.1:8989"    # for example


# Shows processes that have registered URLs with HTTP.sys
$QueueText = netsh http show servicestate view=requestq verbose=yes | Out-String

# Break into text chunks; discard the header
$Queues    = $QueueText -split '(?<=\n)(?=Request queue name)' | Select-Object -Skip 1

# Find the chunk for the request queue listening on your URI
$Queue     = @($Queues) -match [regex]::Escape($Uri -replace '/$')


if ($Queue.Count -eq 1)
{
    # Will be null if could not pick out exactly one PID
    $ProcessId = [string]$Queue -replace '(?s).*Process IDs:\s+' -replace '(?s)\s.*' -as [int]

    if ($ProcessId)
    {
        Write-Verbose "Identified process $ProcessId as the HTTP listener. Killing..."
        Stop-Process -Id $ProcessId -Confirm
    }
}

Originally posted here: https://stackoverflow.com/a/65852847/6274530

Solution 17 - Windows

I faced the same issue and fixed it by making a small change in the httpd.conf file which can be obtained by clicking the config button along with the Apache option.

The change I made was to replace listen 80 with listen 8080.

Solution 18 - Windows

For me, this problem began when I hosted a VPN-connection on my Windows 8 computer.

Simply deleting the connection from "Control Panel\Network and Internet\Network Connections" solved the problem.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAashishView Question on Stackoverflow
Solution 1 - WindowsMohamedFaridView Answer on Stackoverflow
Solution 2 - WindowsFranciscoView Answer on Stackoverflow
Solution 3 - WindowsEswar Rajesh PinapalaView Answer on Stackoverflow
Solution 4 - WindowsChad GrantView Answer on Stackoverflow
Solution 5 - WindowsRushik ParikhView Answer on Stackoverflow
Solution 6 - WindowsMMindView Answer on Stackoverflow
Solution 7 - WindowsKinjal DixitView Answer on Stackoverflow
Solution 8 - WindowsMBaasView Answer on Stackoverflow
Solution 9 - WindowsWarwickyView Answer on Stackoverflow
Solution 10 - WindowsGeneView Answer on Stackoverflow
Solution 11 - WindowsManohar Reddy PoreddyView Answer on Stackoverflow
Solution 12 - WindowsThomas L HoladayView Answer on Stackoverflow
Solution 13 - WindowsMarcelo MasonView Answer on Stackoverflow
Solution 14 - Windowsuser2513149View Answer on Stackoverflow
Solution 15 - WindowsMrSalesiView Answer on Stackoverflow
Solution 16 - WindowsFSCKurView Answer on Stackoverflow
Solution 17 - WindowsAditya JetelyView Answer on Stackoverflow
Solution 18 - WindowsZarView Answer on Stackoverflow