我正在嘗試在 Windows Server 2008 上安裝 Apache。當我使用netstat -a -p tcp
要查看是否有任何進程正在偵聽該 IP 位址和端口,我看到了幾個完整的..其中之一顯示正在偵聽 0.0.0.0:80。這是輸出的部分列表。
Proto Local Address Foreign Address State
TCP 0.0.0.0:80 MYSERVERNAME:0 LISTENING
這看起來是 IIS7 監聽埠 80 上的所有 IP 位址。所有網站均顯示為已停止。我試過iisreset /STOP
以及使用 IIS7 管理器,但仍有東西在監聽 0.0.0.0:80。我甚至確保每個網站都綁定到另一個 IP 位址,而不是我想要為 Apache 釋放的 IP 位址。有其他人遇過這個嗎?
答案1
《敏捷絕地》讓我走上了正確的道路。在搜尋“禁用套接字池 IIS7”後,我遇到了一個很棒的文章這給了一些逐步的指導。我照著指示操作,果然成功了!我能夠阻止 IIS7 綁定所有 IP 位址 基本上,它可以歸結為以下命令(我從上面的文章複製並貼上了這些命令,以防文章被刪除)。
- 增加或確保您的機器有兩個 ip
- 開啟命令提示符
- 類型
netsh
- 類型
http
- 類型
sho iplisten
。它應該是空白的 - 類型
add iplisten ipaddress=192.168.0.90
(使用你想要IIS7綁定的公網IP位址)
您應該會成功新增 IP 位址
- 類型
sho iplisten
再次
清單中應顯示 192.168.0.90
類型
exit
退出netsh類型 類型
netstat -an
。看看您是否注意到清單中的 192.168.0.90:80。如果您看到 0.0.0.0:80,請執行
iisreset
答案2
IIS 這樣做是為了提高套接字池效能。我們有多個並行運行的 APACHE/Windows 實例。我認為這在較新版本的 IIS 中不是問題。無論哪種方式,您都需要停用套接字池:
對於IIS6