107

Mac OS X Lion (2012 年 1 月に購入した新しい macbook air) で開発環境をセットアップして以来、仮想ホストへの解決が最初は非常に遅い (約 3 秒) ことに気付きましたが、その後は、定期的にロードし続けています。

数分間そのままにしてから再度リロードすると、最初のリロードが(再び)非常に遅くなります。何かがキャッシュされているようです。

以下に示すように、私は .local TLD を使用していません。

私のセットアップ: Apache 2 - MySQL - PHP をインストールして有効にしました - いくつかの仮想ホストを追加し、そのうちの 1 つを localhost 用に作成しました

私の /etc/hosts:

127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost
fe80::1%lo0     localhost
127.0.0.1       myproject.dev
::1             myproject.dev
fe80::1%lo0     myproject.dev

username.conf での仮想ホストのセットアップ:

NameVirtualHost *:80

<Directory "/Users/myusername/Sites/">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot /Users/myusername/Dropbox/dev_envs/
</VirtualHost>
<VirtualHost *:80>
    ServerName myproject.dev
    DocumentRoot /Users/myusername/Dropbox/dev_envs/myprojectname
</VirtualHost>
4

13 に答える 13

186

私はまったく同じ問題を抱えていて、それは私を夢中にさせていました!

次のように、localhost のすべてのホスト ファイル エントリを 1 行に入力します。

127.0.0.1 localhost myproject.dev myotherproject.dev
::1 localhost
fe80::1%lo0 localhost

私にとって魅力のように働きました。ライオンのバグのようです。

于 2012-04-17T22:26:01.357 に答える
25

ライオンでも同じ問題がありました。

奇妙なことに、私の解決策はジェレミーの解決策とは逆でした。/etc/hosts の 1 行に someproject.dev エントリがたくさんありました。それらのいずれかでサイトを初めてロードするのに、1分ほどのように永遠にかかりました. 5秒以内にもう一度使用すると、非常に高速でしたが、さらに長くなり、再び1分かかりました. mysql 接続、Ruby のバージョン、Rails のバグ、Apache、Phusion Passenger など、ありとあらゆることを疑っていました。最終的にコンソールを見て、DNS ルックアップが試行されていることに気付くまで。

だから、私はそれらすべてを別々の行に入れました:

127.0.0.1 localhost

127.0.0.1 myproject.dev

127.0.0.1 myotherproject.dev

そして突然、すべてが再び元気になりました。私の両方のマシンで同じです。

于 2012-07-26T17:02:22.800 に答える
15

IPv6 ::1 に同じホストを指定すると役に立ちました。

127.0.0.1 something.local.mydomain.org
::1 something.local.mydomain.org
于 2014-11-10T18:02:41.423 に答える
10

IP v6 エントリが localhost の行にないことを確認してください

::1 localhost

IP v6 エントリは別の行に入力します

fe80::1%lo0 here and_here

現在は非常に高速な場合もありますが、まれに古いラグが戻ってくる例外があります。ただし、それらは他の理由に基づいている可能性があります。

于 2012-08-11T09:57:48.473 に答える
7

OSX El Capitan でうまくいったのは、IPv4 エントリのすぐ上に重複する IPv6 エントリを作成することでした。

fe80::1%lo0 demo.test.dev
127.0.0.1   demo.test.dev
于 2016-04-23T03:34:33.230 に答える
1

私はこれと同じ問題を抱えていましたが、最終的に同じ行に同じホスト エントリが 2 回あることに気付きました。

例えば

127.0.0.1 localhost host1 host2 host3 host4 host5 host1 host6

同じホストの 2 番目のインスタンス (上記の例では、host1) を削除すると、すぐに速度が上がりました。

これを発見したときは少しばかげているように感じましたが、同じ行に 10 個の長いホスト名があり、頻繁に追加/削除していると、簡単に見落とされる可能性があります。

于 2016-10-02T23:34:47.427 に答える
1

同じ問題が発生し、LAN で IPv6 を有効にしたが、ネットワークと ISP の間で IPv6 が正しく構成されていないことが原因であることがわかりました。クライアントに両方が指定されている場合、明らかに IPv6 DNS サーバーが IPv4 DNS よりも優先されます。クライアントが IPv6 DNS が到達不能または欠落していることを検出し、その後 IPv4 DNS にフォールバックするまでに (試行ごとに) 数秒かかりました。

于 2014-04-08T06:32:33.827 に答える
1

注: 私は Windows と XAMPP を使用していますが、問題を調査している間に、多くの人が Windows と Mac で同じ問題を抱えていました。私は自分に合った解決策を見つけるのに何時間も費やしたので、この質問を見つけた人への参照用の回答:

すべてのホストを 1 つの行に配置する、冗長なホストと仮想ホストを削除する、IPv6 行を含めるなど、同じ問題に対して多くの解決策を試しましたが、これらだけでは成功しませんでした。

これまでのところ、私にとってうまくいくと思われる唯一の解決策は、すべての解決策の組み合わせです。

  • 使用しているドメインを mysite から変更します。mysite にローカル。開発者@Cleverlemmingの回答に触発されました。
  • IPv6回線を含みます。
  • 冗長な仮想ホストとホストを削除します (コメントアウトしました)。

私のホストファイルでは、ホストは現在別の行にあり、これまでのところ問題は修正されているようです.

この問題を解決しようとしている人は頑張ってください。追加する情報がある場合は、追加してください。これは、原因や解決策が1つも知られていない多くの人に影響を与える問題のようです.

于 2015-08-08T09:14:05.570 に答える
0

私のためにそれをしたトリックは追加することでした

127.0.0.1 locahost

ホストファイルの最初の行。

私のすべての仮想ホストから、データベースを使用しているものだけが低速でした。「localhost」ではなく仮想ホストのアドレスのみを追加したため、データベース接続の「localhost」を検索するプロセスが遅くなったためだと思います。今、それはすべて再びきびきびしています。:)

于 2013-02-06T17:20:28.923 に答える
0

私もこれにたくさん出くわしました。1 つは IPv4 用、もう 1 つは IPv6 用の 2 つの行で定義された多数の仮想ホストがあります。解決しようとしていたホストをリストの最初に移動すると、速度が上がりました。

127.0.0.1 faster.example.dev host1.example.dev host2.example.dev host3.example.dev host4.example.dev host5.example.dev host6.example.dev
::1 faster.example.dev host1.example.dev host2.example.dev host3.example.dev host4.example.dev host5.example.dev host6.example.dev
于 2014-02-11T18:00:44.007 に答える