web-dev-qa-db-ja.com

Apache VirtualHostのスロールックアップ

私はようやく、仮想ホストのニーズに合わせてhttpd.confを適切に構成する方法を管理しました。これはhttpd.confファイルの関連部分です

NameVirtualHost *:80

<VirtualHost *:80>
  ServerName localhost
  DocumentRoot /Applications/XAMPP/htdocs/
</VirtualHost>

<VirtualHost *:80>
  ServerName test.local
  DocumentRoot /Applications/XAMPP/htdocs/test/
</VirtualHost>

<VirtualHost *:80>
  ServerName work.local
  DocumentRoot /Applications/XAMPP/htdocs/work/
</VirtualHost>

Localhost(つまり http:// localhost/phpmyadmin )で何かにアクセスすると、すべてが非常に高速です。 test.localやwork.local(または私が構成した他のもの)にアクセスするたびに、ルックアップに10〜15秒かかります。次のリクエストは正しく処理され、非常に高速ですが、1分間ほど操作がないと、再度検索する必要があります。

これは私の/ etc/hostsファイルです

127.0.0.1       localhost
255.255.255.255 broadcasthost
#::1             localhost
fe80::1%lo0     localhost

# Virtualhosts
127.0.0.1       test.local     work.local    yii.local

どうすればこの厄介な問題を修正できますか?

34
Leonardo Rossi

最初の行に仮想ホストを追加します。

127.0.0.1       localhost test.local work.local yii.local

そして最後の行を削除します。

これでうまくいくはずです。 vhostsはlocalhostのエイリアスになりました。複数の行に同じIPアドレスを含めることはお勧めできません。これは、DNSキャッシュを混乱させるだけです。

75

Chrome=を使用していても仮想ホストの検索が遅い場合は、仮想ホスト名を.local以外の名前に変更する必要があります。たとえば、test.localtest.dev

説明とソースはこちら: http://bencrowder.net/blog/2012/10/slow-localhost-in-chrome/

5
xdim222

私のためにそれを修正したのは、httpd-vhosts.confを編集してすべてのインスタンスを変更することでした:

<VirtualHost *:80>

に:

<VirtualHost 0.0.0.0:80>

ホストを解決するのに約2〜5秒かかっていましたが、今はすぐです。 hostsファイルでサイトの順序を変更する必要はありませんでした。これは、とにかくあなたが使用しないと思いますipv6の代わりにipv4を使用するだけです。

4
Justin

また、httpd.confファイルでServerNameのIPを設定するとうまくいきました

ServerName 127.0.0.1:80
0
Mihai Crăiță

個別のエラーログやサーバーエイリアスなど、他のパラメーターもvhostsファイルに実装する必要があります


DocumentRoot "D:/ xampp/htdocs/asd"
ServerName asd.com.br
ServerAlias asd.com.br
ErrorLog "logs/asd.log"
CustomLog "logs/asd.log"の組み合わせ

0
lucasmx