Windows Server 2008にApacheをインストールしようとしています。インストールは、Apacheがリッスンするように設定したIPアドレスをバインドできないという警告で終了します。netstat -a -p tcp
IP アドレスとポートでリッスンしているプロセスがあるかどうかを確認するために、いくつかのエントリを確認します。そのうちの 1 つは、0.0.0.0:80 でリッスンしていることが示されています。出力の一部を以下に示します。
Proto Local Address Foreign Address State
TCP 0.0.0.0:80 MYSERVERNAME:0 LISTENING
これは、ポート80のすべてのIPアドレスをIIS7がリッスンしているように見えます。混乱しているのは、IIS7を停止したことです。すべてのWebサイトが停止していると表示されます。試してみましたiisreset /STOP
IIS7 マネージャーも使用していますが、まだ 0.0.0.0:80 でリッスンしているものがあります。すべての Web サイトが、Apache 用に解放したい IP アドレスとは別の IP アドレスにバインドされていることを確認しました。他にもこれに遭遇した人はいますか?
答え1
「Agile Jedi」が私を正しい道へと導いてくれました。「ソケットプーリングIIS7を無効にする」を検索した後、素晴らしい記事そこには、ステップバイステップの指示がいくつかありました。指示に従うと、確かにうまくいきました。IIS7 がすべての IP アドレスをバインドするのを止めることができました。基本的には、次のコマンドに要約されます (記事が削除された場合に備えて、上記の記事からコピーして貼り付けました)。
- 追加またはマシンに2つのIPがあることを確認してください
- コマンドプロンプトを開く
- タイプ
netsh
- タイプ
http
- タイプ
sho iplisten
空白にする必要があります - タイプ
add iplisten ipaddress=192.168.0.90
(IIS7 にバインドさせたいパブリック IP アドレスを使用します)
IPアドレスが正常に追加されたはずです
- タイプ
sho iplisten
また
リストに192.168.0.90が表示されるはずです
タイプ
exit
ネットから抜け出すタイプタイプ
netstat -an
。リストに192.168.0.90:80があるかどうか確認してください。0.0.0.0:80がある場合は、
iisreset
答え2
IIS はソケット プーリングのパフォーマンスのためにこれを行います。複数の APACHE/Windows インスタンスを並行して実行しています。新しいバージョンの IIS ではこれが問題にならないと思います。いずれにしても、ソケット プーリングを無効にする必要があります。
IIS6の場合