32

I've been using nginx without any problem on windows for the last few months. Today when I tried to start it up, I got this error:

nginx: [emerg] bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)

Why did this start happening all of a sudden? I didn't change any configs or anything.

4
  • Is this on a real server or is it on a workstation?
    – user9517
    Feb 13, 2013 at 8:22
  • windows workstation Feb 13, 2013 at 9:26
  • In truth this is then probably a better for for Super User.
    – user9517
    Feb 13, 2013 at 9:45
  • 3
    Windows Web Server (IIS) may also cause this issue so try running: 'net stop WAS' to stop the service. Sometimes you may also need to run: 'net start W3SVC'. Note: Run cmd as admin. Jun 26, 2015 at 18:28

3 Answers 3

51

Check Skype.

Skype automatically updated itself, and turned the "use port 80" option back on.

It's in settions->advanced.

4
  • 4
    Unbelievable, but thanks. Tools > Options > Advanced > Connection
    – Tom
    Sep 12, 2014 at 12:45
  • Sneaky M$. Very sneaky. Jun 8, 2015 at 6:27
  • 1
    I just installed skype for web (beta). It installed a separate plugin for video, which I assume has the same behaviour. If you have a skype for web tab open in your browser, you may need to close that. Feb 29, 2016 at 5:39
  • This answer only looks at Skype but there are a lot more programms that can cause this issue because of using port 80/tcp. For the easiest way see Jevgenis answer serverfault.com/a/478267/141615
    – High Ball
    Oct 18, 2017 at 10:17
12

Check which ports are being used on your system.

There are some programs which bind port 80. For example TeamViewer, Skype, etc.

For an easy test type http://localhost in your browser and check which service appears.

Or ou can use a programm like CurrPorts by NirSoft.

1
  • In my case, it was IIS blocking port 80 - this appears to be a common problem. If netstat -o shows PID 4 listening on port 80, that's IIS. Mar 30, 2016 at 18:42
8

You can try run in CMD:

netstat -a | find "LISTENING"

also there was a piece of software called TCPView, which is very cool, and shows all runing process/occupied ports.

1
  • 1
    I used netstat -ao to also display the PID of the process blocking port 80 - then enabled the PID column in Task Manager to find out which process was blocking port 80. Mar 30, 2016 at 18:40

Not the answer you're looking for? Browse other questions tagged or ask your own question.