如何關閉 IIS 的 Socket Pooling 功能

可能很多人沒聽過何謂 Socket Pooling,其實就是在 IIS 裡的 Service 預設會將本機所有的 IP 全部綁定(Binding)起來佔住,即便你在 IIS 裡特別明確指定 IP:Port 給站台使用,其他的程式或服務也不能使用被佔住的 Port。

如下圖,在 IIS 的站台內容的 "IP 位址(I):" 欄位預設的值是 "(全未指定)",你可以透過 "進階(D)" 按鈕指定本機其他的 IP 位址:

設定 IIS 網站站台的 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 有不同的解法,請參考以下說明:

  1. IIS 5

    How to Disable Socket Pooling
    http://support.microsoft.com/kb/238131/en-us
     
  2. IIS 6

    Setting metabase property DisableSocketPooling has no effect
    http://support.microsoft.com/kb/813368/EN-US/
  

此文章由 will 發表於 2008/1/11 上午 12:09:00

永久連結 | 評論 (0) | 此文章的RSSRSS comment feed |

分類: IIS

標籤: ,

收藏:

相關文章

新增評論


(將顯示您的Gravatar圖示)  

  Country flag

[b][/b] - [i][/i] - [u][/u]- [quote][/quote]



線上預覽

十月 13. 2008 04:03