Tuesday, December 11, 2012

Windows 7 Mongrel Rails Port 80 Permission Denied Bind(2)

Alright, just spend an annoying amount of time on solving this issue, and although this issue can manifest itself for many reasons - I'll share my specific reason and hopefully it will help others.

The specific error from the mongrel logs is


** Starting Mongrel listening at 0.0.0.0:80
c:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mingw32/bin/../lib/mongrel/tcphack.rb:12:in `initialize_without_backlog': Permission denied - bind(2) (Errno::EACCES)


The issue is, I was trying to deploy a rails app that's run using mongrel on Port 80. This has been successfully deployed to many sites running Windows 7 Pro, and I was trying to deploy it to Windows 7 Home Premium. At first I thought the operating system was the issue, but it definitely wasn't.

After googling around for awhile, I found a lot of posts linking it to IIS conflicts. But the thing is, I didn't have IIS running on my machine - no "World Wide Web Publishing" service running - or at least not in its entirety.

You see - what the issue was - was that I do some .Net development on this computer - and at one point for testing purposes, I installed IIS Express. Yes, IIS Express was the culprit. The hard part was, is that IIS Express shows up as a differently named service - it's called "Web Deployment Agent Service".

I launched up Services.msc, disabled this service- and bam, things were up and running.

Hope this helps some peeps.

No comments: