可能很多人沒聽過何謂 Socket Pooling,其實就是在 IIS 裡的 Service 預設會將本機所有的 IP 全部綁定(Binding)起來佔住,即便你在 IIS 裡特別明確指定 IP:Port 給站台使用,其他的程式或服務也不能使用被佔住的 Port。
如下圖,在 IIS 的站台內容的 "IP 位址(I):" 欄位預設的值是 "(全未指定)",你可以透過 "進階(D)" 按鈕指定本機其他的 IP 位址:
圖1: 設定 IIS 網站站台的 IP 綁定位址
舉例來說,你的主機有兩個 IP 位址,你打算其中一個 IP 的 80 Port 跑 IIS,而另一個 IP 的 80 Port 跑 Apache for Win32,你可能會想說一個 IP 給一個用沒問題,但卻一直都跑不起來!在不做任何修改的情況下 Apache for Win32 與 IIS 是無法同時運作的,除非你先將 IIS 關閉,再將 Apache 先啟動,再將 IIS 啟動,但重開機後 Apache 就又會無法自動跑起來!同樣的,在 IIS 中其他的服務也都一樣有 Socket Pooling 的問題,例如說你想安裝不同的 FTP Server 在你的主機上,且同時使用 Port 21。
如果要解決這個問題,分別在 IIS 5 與 IIS 6 有不同的解法,請參考以下說明:
-
-
-