0

WindowsXP で WAMP v2.0 を実行しており、http-vhosts.conf ファイルに多数の仮想ホストを設定しています。

これは機能していましたが、先週、WAMP を試行して開始するたびに、イベント ログに次のエラーが表示されます。

VirtualHost *:80 -- * ポートと非 * ポートを NameVirtualHost アドレスと混在させることはサポートされておらず、未定義の結果が続きます。

サーバーが起動しません。何が変わったのか思いつかない。

以下のconfファイルをコピーしました。

NameVirtualHost *
<VirtualHost *:80>
    ServerName dev.blog.slaven.net.au
    ServerAlias dev.blog.slaven.net.au
    ServerAdmin user@host.com
    DocumentRoot "c:/Project Data/OtherProjects/slaven.net.au/blog/" 
    ErrorLog "logs/blog.slaven.localhost-error.log"
    CustomLog "logs/blog.slaven.localhost-access.log" common

    <Directory "c:/Project Data/OtherProjects/slaven.net.au/blog/">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
            Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

編集: NameVirtualHosts ディレクティブを変更してポートを指定する場合、追加するつもりでした。

NameVirtualHost *:80

次のエラーが表示されます。

通常、各ソケット アドレス (プロトコル/ネットワーク アドレス/ポート) の使用は 1 つだけ許可されます。: make_sock: アドレス 0.0.0.0:80 にバインドできませんでした

4

2 に答える 2

4

NameVirtualHost *:80

次のエラーが表示されます。

通常、各ソケット アドレス (プロトコル/ネットワーク アドレス/ポート) の使用は 1 つだけ許可されます。: make_sock: アドレス 0.0.0.0:80 にバインドできませんでした

これは、ポート 80 をリッスンしている何か他のものが原因である可能性があると思います。他のサーバー (または Skype など) を実行していますか?

(Skype の場合: [ツール] > [オプション] > [詳細設定] > [接続] > [着信接続の代替としてポート 80 と 443 を使用する] のチェックを外します)

于 2008-09-02T11:56:29.810 に答える
0

さて、ポートを割り当てる方法(および順序)に問題があるようです。

基本的に、*:80は、「この構成のすべてのホストにポート80を使用する」ことを意味します。これを行うと、Apacheはそのホストを0.0.0.0:80にバインドしようとします。つまり、ホストは、送信先の仮想ホストに関係なく、ポート80を介してマシンに着信するすべてのパケットを受信します。これは、その構成に1つのホストがある場合にのみ、一度だけ使用する必要があるものです。

したがって、構成ファイル内の2つのホストに同じ*:80ディレクティブがある場合、サーバーは0.0.0.0:80を2回バインドしようとし、2回目の試行で失敗するため、ロードされません。(これは、「各ソケットアドレス(プロトコル/ネットワークアドレス/ポート)の使用は通常1回のみ許可されます。:make_sock:アドレス0.0.0.0:80にバインドできませんでした」というメッセージを説明しています)。

于 2008-09-02T11:39:54.437 に答える