Googolflex!!
  • Home
  • About
  • Contracting

Recent Posts

  • Sprint’s new “Simply ‘Almost’ Everything®” Plans
  • CSS Changes in Flex 4
  • Dotted Underline LinkButton (Flex)

About The Author : jwd

This is John Dusbabek's tech blog. John is a software engineer and Flex developer in Provo, UT, where he lives with his lovely wife and four sons.

Recent Comments

  • Nikos on Flex: Binding to an Interface
  • Iain Hosking on Apache mod_proxy_balancer: No Protocol handler was valid

Archive for IIS 6.0

Jan
27

Running IIS 6.0 and Apache Together

Posted by: jwd | Comments (0)

My ColdFusion VPS runs IIS 6.0 on Windows Server 2003.  I wanted to run Apache 2.2 on this server as well, and bind it to the IP address that IIS 6.0 wasn’t using.  I opened the IIS management console to force IIS to listen on a single IP address, but when trying to start Apache I received an “already in use” error.  I double checked that IIS was configured to listen on one IP address, and Apache was configured to listen on the other.  Then I tried several variations of service startup order, etc, still without success.

Let me explain my requirements clearly: I wanted IIS and Apache to each use port 80 of different IP addresses.  Before you leave a comment explaining I could have had them listen on different ports– I know that, but it’s not what I wanted.

My research lead me to this Microsoft knowledgebase article: http://support.microsoft.com/default.aspx?scid=kb;en-us;259349 which referenced IIS 5.0, but I assumed was relevant.  The crux of the matter is this:  “To enhance performance, IIS 5.0 uses “socket pooling”, in which IIS binds to all IP addresses when it starts.”  Yep, you read that correctly.  Regardless of the settings you made in the IIS console, it will bind to ALL available IP addresses.

The workaround in the article is as follows:

  1. Change to the C:\Inetpub\AdminScripts directory.
  2. Execute the following command: CSCRIPT ADSUTIL.VBS SET W3SVC/DisableSocketPooling TRUE

Apparently there are some differences between IIS 5 and 6, because this didn’t correct the problem.  Fortunately I was able to discover something that worked by browsing around a few other sites.

First, you need to install the Support Tools from the Windows Server 2003 cd.  This includes the httpcfg.exe tool, which is what you can use to force IIS to listen only on specific IP addresses.  After you have this installed (there is a start menu option that will open up a command prompt in the correct directory) here are the commands to make the fix:

  1. net stop http /y (This stops IIS)
  2. httpcfg.exe set iplisten /i 10.0.0.2:80 (You must specify the port! Or it will still steal them!)
  3. net start w3svc (Restart IIS)
  4. Start up Apache

I wasn’t able to find any documentation explaining why it didn’t work when I didn’t specify the port.  I guess IIS needs very specific rules when it comes to getting along with other HTTP servers.  I have yet to have this problem with IIS 7.0, mainly because I haven’t tried installing Apache on my Windows 2008 box.  When I try it, I’ll keep you posted as to whether this fix still works.  Or if it’s required… which I’m sure it is since it’s not a bug, it’s a performance enhancer.  I wonder if Microsoft’s STMP service uses a similar “mail enhancement” feature to grab all port 25s?

Categories : Apache Web Server, Cold Fusion, HTTP Servers, IIS 6.0, Windows Server 2003
Comments (0)

Search

Feedburner

Subscribe to

Get the latest updates delivered via email

Calendar

September 2010
M T W T F S S
« Jul    
 12345
6789101112
13141516171819
20212223242526
27282930  

Archives

  • July 2010 (1)
  • June 2010 (2)
  • May 2010 (1)
  • February 2010 (11)
  • January 2010 (3)
  • December 2009 (5)
  • November 2009 (1)
  • August 2009 (8)
  • July 2009 (8)
  • May 2009 (4)
  • April 2009 (1)
  • March 2009 (6)
  • January 2009 (1)
  • November 2008 (4)
  • October 2008 (5)
  • September 2008 (1)
  • August 2008 (5)
  • July 2008 (1)
  • June 2008 (2)
  • May 2008 (8)
  • April 2008 (5)
  • March 2008 (2)
  • February 2008 (3)
  • January 2008 (1)
  • December 2007 (6)
  • November 2007 (9)
  • October 2007 (1)
  • September 2007 (2)

Categories

Tag Cloud

adobe apache Architecture book review C++ centos client server architecture Custom Components database Design error message fedora flash catalyst flex Flex 3 Flex 4 fms iis 6 Interaction Design load balancing master-master master-slave mod_proxy_balancer Monkey Patching MySQL no protocol p2p peer to peer Perl PHP Red5 regex replication self registration selinux Shell Scripting shortcut manager skins socket policy file sockets states stored procedures stratus tools workflow

Coworkers

  • Casey Jackman
  • Sean Murphy

Family

  • Emily & CJ
  • Family Blog
  • Gary Dusbabek

Meta

  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.org

RSS FlexExamples

  • Styling the text selection format on a Spark TextArea control in Flex 4
  • Setting the scale mode on a Spark Image control in Flex Hero
  • Setting the fill mode on a Spark Image control in Flex Hero
  • Setting a bitmap image fill on a Spark Form container in Flex Hero
  • Setting a bitmap image fill on a Spark FormHeading control in Flex Hero

Spam Blocked

847 spam comments
blocked by
Akismet

Sponsored Links

JUICE Chat

BYU Adobe Users Group


Copyright © 2010 All Rights Reserved
Flexx Theme by iThemes
Powered by WordPress