Mac OS X Lion에서 localhost / virtualhost의 느린 확인 /로드 (2 ~ 3 초 지연)를 제거하려면 어떻게해야합니까?


97

Mac OS X Lion (2012 년 1 월에 구입 한 새로운 macbook air)에서 개발 환경을 설정 한 이후 처음에는 가상 호스트로의 해석이 매우 느리지 만 (약 3 초) 그 이후에는 계속 정기적으로로드합니다.

몇 분 동안 그대로 두었다가 다시 장전하면 첫 장전이 (다시) 고통스럽게 느려집니다. 무언가가 캐시되고있는 것 같습니다.

아래에서 볼 수 있듯이 .local TLD를 사용하지 않습니다.

내 설정 : Apache 2-MySQL-PHP 설치 및 활성화-로컬 호스트 용으로 만든 가상 호스트 몇 개 추가

내 / 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>

stackoverflow.com/questions/19313546/…을 찾았습니다 . 그리고 그것은 나를 위해 작동합니다 !!!
clark yu

2
나는 이것을 apple rdar : // 24237290에 버그로보고했고이 재미있는 응답을 받았습니다.> Engineering은이 문제에 대해 다음과 같은 피드백을 제공했습니다. 허용되는 / etc / hosts 파일의 별칭 수는 10 개입니다. / etc / hosts 파일에 10 개 이상의 별칭이있는 것은 실용적이지 않은 것 같습니다. 더 많은 사람들이이 버그를보고하고이 답변이 완전히 우스꽝 스럽다고 말하면 환영 할 것입니다 (그리고 어디에도 문서화되지 않음).
dwt

.local TLD 사용에 나쁜 점이 있습니까?
Yaakov Ainspan 2018 년

모하비에 나를 위해 잘 작동 ... :)
rogerdpack

답변:


169

나는 똑같은 문제가 있었고 그것은 나를 미치게 만들었다!

localhost에 대한 모든 호스트 파일 항목을 다음과 같이 한 줄에 넣으십시오.

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

나를 위해 매력처럼 일했습니다. Lion의 버그처럼 보입니다.


이것은 @ adam-gries가 답변으로 표시해야한다고 생각합니다. 감사합니다 Jeremy!
zysoft

5
이 수정은 나를 위해 일했지만 11 개의 사이트 한도에 도달 한 후 더 느리게 실행되기 시작했습니다! 지금은 두 개의 호스트 항목 (동일한 IP 주소)으로 분할했으며 정상적으로 작동하는 것 같습니다.
Alex Ghiculescu 2013

@AlexGhiculescu와 동일한 문제 및 솔루션이지만 OS X 10.8 Mountain Lion에 있습니다.
chrishiestand

2
OS X 10.9는 여전히 문제이며 몇 시간 동안 나를 미치게 만들었습니다! 훌륭합니다. 훌륭한 답변에 감사드립니다!
robertp 2013

2
이것은 다른 localhost 장치 라우팅 전에 호스트 항목을 입력하기 때문에 작동합니다. 웹 서버가 127.0.0.1을보고있는 경우 해당 호스트는 빠른 조회를 위해 / etc / hosts 파일의 HEAD에 있어야합니다. 127.0.0.1 줄이 수십 개 있습니다. / etc / hosts 파일의 맨 위로 옮겼을 때만 빨리 해결되었습니다.
Joey T

70

5 초 조회를 유발하는 ".local"로 끝나는 사이트에 대해 10.7. *에서 10.8.4까지의 또 다른 문제가 있습니다. 세부 정보 및 솔루션 제공 : Bram (us) Van Damme (다음 링크) :

http://www.bram.us/2011/12/12/mamp-pro-slow-name-resolving-with-local-vhosts-in-lion-fix/

"기본적으로 .local로 끝나는 호스트 이름은 네트워크 환경 설정에서 DNS 서버 항목을 쿼리하는 대신 Bonjour 호스트로 취급됩니다.

이 문제를 해결하려면 (각 가상 호스트의 이름을 바꿀 필요없이) / etc / hosts 파일에 각 가상 호스트에 대한 IPv6 항목을 추가해야합니다. "

::1 mysite.local
fe80::1%lo0 mysite.local
127.0.0.1 mysite.local

이는 Windows 시스템에도 영향을 미칩니다. 솔루션은 거기에서도 매력처럼 작동합니다.
ToBe 2014 년

호스트를 로컬 VM으로 지정하는 동안이 문제가 계속 발생했습니다. 호스트 파일을 멋지게 형식화 하고 (자체 줄의 항목 등) VM의 IPV6 주소를 사용하여 추가 항목을 추가했으며 모든 지연 문제가 해결되었습니다. 나는으로 끝나는 사이트에서만이 문제를 .local겪은 것 같았고, 두 IPV4 / 6 항목을 모두 추가하면 모든 것이 해결되었습니다 (OS X 10.9)
Justin

'공유'환경 설정 창에서 내 호스트 이름이 나는 등 / 호스트 /에 입력 된 하나와 일치하지 않았기 때문에 단지의 경우, 조금이와 싸워야했다가 ... 사람을 도움
abhishekmukherg

와. 나는 ::1IPv6 바로 가기가 127.0.0.1. 하지만 무슨 fe80::1%lo0뜻일까요? - 아,에 대답 superuser.com/questions/241642/...
AlexChaffee

macOS Sierra에서는 작동했지만 첫 번째 줄을 제거해야했습니다.
브라이스 뉴욕

24

나는 라이온에서도 같은 문제를 겪었습니다.

이상하게도 제 해결책은 Jeremy의 반대였습니다. / etc / hosts에 한 줄에 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

그리고 갑자기 모든 것이 다시 부러졌습니다. 내 두 컴퓨터에서 동일합니다.


여기 stackoverflow에서 무엇이든 시도했지만 this와 user902664의 게시물이 도움이되었습니다. 모든, IPv4 및 IPv6 라인은 한 라인이어야합니다. IPv4 항목 만 사용하고 별도의 라인에서 사용하는 경우, 30 초에서 ~ 1로 감소했으며, 분리 된 라인에서 IPv6 설정과 함께 사용하면 ~ 0.5 초로 감소했습니다.
tomis 2013

이것은 미친 버그 인 것 같습니다. 14 개의 별칭이있는 주소 192.168.56.3에 대한 항목이 있습니다. 하나의 별칭을 제거하면 <1s에서 호스트를 확인할 수 있습니다. 14 번째 별칭을 사용하면 목록에서 처음 몇 개의 항목을 해결하는 데 ~ 30
Brian M. Carr

OSX 전용 버그입니까? 누구든지 버그 보고서에 연결할 수 있습니까?
pje

내가 원했던 것보다 네트워크 구성에 대해 더 많이 배우는 데 몇 시간을 보냈습니다. 나는 급락을 취하고 로컬 DNS 서버를 설정하려고했는데이 문제가 해결되었습니다. 감사합니다. 여기 Mavericks 10.9.5.
clumsyfingers

13

IPv6 :: 1에 대해 동일한 호스트를 지정하면 도움이되었습니다.

127.0.0.1 something.local.mydomain.org
::1 something.local.mydomain.org

예, 한 줄에 하나의 도메인입니다.
warvariuc

1
이것은 나를 위해 문제를 해결했습니다. 제 경우에는 적어도 한 줄에 하나의 도메인 만 필요하지 않았습니다.
jeff-h

9

localhost가있는 줄에 IP v6 항목이 없는지 확인하십시오.

::1 localhost

IP v6 항목은 별도의 줄에 표시됩니다.

fe80::1%lo0 here and_here

지금은 때때로 정말 빠르지 만 오래된 지연이 다시 나타나는 경우는 드뭅니다. 그러나 다른 이유에 근거 할 수 있습니다.


1
이것은 OS X 10.11.6에서 저에게 효과적이었습니다. localhost IPv4 항목 (127.0.0.1의 한 줄)을 동일한 별칭을 가진 :: 1 줄로 복제하자마자 조회가 4-5 초에서 즉시로 내려갔습니다. 또한 :: 2로 복제 한 127.0.0.2 항목이 있습니다. 주소 당 한 줄이 있습니다. 감사!
RichVel

7

OSX El Capitan에서 나를 위해 일한 것은 IPv4 항목 바로 위에 중복 된 IPv6 항목을 만드는 것이 었습니다.

fe80::1%lo0 demo.test.dev
127.0.0.1   demo.test.dev

동의 함, 동일한 별칭 목록이있는 한 IPv4 위 또는 아래의 IPv6 항목에서 작동합니다.
RichVel

이것은 터무니없는 일이지만 Chrome이 내 laradock docker 컨테이너에 대한 localhost 링크를 확인하는 속도가 느리다는 문제를 해결했습니다 (Safari는 항상 괜찮 았습니다)
jeff-h

뿐만 아니라 높은 시에라을위한 작품 - 파이어 폭스, 또는 그것없이 사파리 일
크리스 아타나

3

호스트 이름이 파일의 시작 부분에 정의되어 있는지 확인하면 차이가 생겼습니다. 기본적으로 127.0.0.1 localhost 행은 이미 시작 부분에 있으며 동일한 행에 항목을 추가하기 만하면됩니다.


이것은 실제 솔루션이며 나머지 모든 것을 시도했으며 한 줄의 참조와 관련이 없거나 IPv6 경로에 연결된 것과 관련이 없습니다 (아마도 그것이 apache conf의 기본 경로가 아닌 경우 ...) @Erik 감사합니다!
Joey T

또한 이것은 제게 2 ~ 3 초 이상, 10 ~ 20 초 정도였습니다. 127.0.0.1 항목이 많았지 만 OS X의 기본 로컬 호스트 구성 이후에 모두 나열되었습니다. 중요한 경우 ML이 아닌 Lion에도 있습니다.
Joey T

슬프게도 이것은 더 이상 Mavericks와 함께 작동하지 않습니다. 몇 달 전에 Mavs로 업그레이드하기 전까지는 잘 작동했지만 Lion을 위해 여기에 내 업 보트를 남겨 둡니다.
Joey T

1

동일한 문제가 발생했는데 LAN에서 IPv6를 활성화했지만 네트워크와 ISP간에 IPv6를 올바르게 구성하지 않았기 때문에 발생하는 것으로 나타났습니다. 분명히 IPv6 DNS 서버는 클라이언트가 둘 다 제공 할 때 IPv4 DNS보다 우선합니다. 클라이언트가 IPv6 DNS에 도달 할 수 없거나 누락 된 것을 발견 한 다음 IPv4 DNS로 폴백하는 데 몇 초 (모든 시도에서)가 걸렸습니다.


1

참고 : 저는 Windows와 XAMPP를 사용하고 있지만 문제를 조사하는 동안 많은 사람들이 Windows와 Mac에서 동일한 문제를 겪었습니다. 나를 위해 작동하는 솔루션을 찾기 위해 몇 시간을 보냈기 때문에이 질문을 찾는 사람을 위해 대답하십시오.

이들 중 어떤 것도 - 나는 IPv6의 라인을 포함하여 또한, 한 줄에 모든 호스트를 넣어 중복 호스트와 버추얼 호스트를 제거, 등 같은 문제에 대한 많은 솔루션을 시도했다 혼자가 성공적 없었다 있습니다.

지금까지 나를 위해 작동 하는 유일한 솔루션 은 모든 솔루션의 조합입니다.

  • mysite에서 사용중인 도메인 변경. mysite에 로컬 . dev . @Cleverlemming의 답변에서 영감을 얻었습니다 .
  • IPv6 라인 포함.
  • 중복 가상 호스트 및 호스트 제거 (내가 주석 처리).

내 호스트 파일에서 내 호스트는 현재 별도의 줄에 있으며 지금까지 문제가 해결 된 것 같습니다.

이 문제를 해결하려는 모든 사람에게 행운을 빕니다. 추가 할 정보가있는 사람이 있으면 그렇게하세요. 이것은 알려진 원인이나 해결책이없는 많은 사람들에게 영향을 미치는 문제인 것 같습니다.


1

나는이 같은 문제가 있었고 마침내 같은 줄에 동일한 호스트 항목이 두 번 있다는 것을 깨달았습니다.

예 :

127.0.0.1 localhost host1 host2 host3 host4 host5 host1 host6

동일한 호스트의 두 번째 인스턴스 (위의 예에서는 host1)를 제거했으며 상황이 즉시 빨라졌습니다.

내가 이것을 발견했을 때 약간 어리석은 느낌이 들었지만 같은 줄에 10 개의 긴 호스트 이름이 있고 자주 추가 / 제거하면 간과 될 수 있습니다.


0

나를 위해 한 트릭은

127.0.0.1 locahost

호스트 파일의 첫 번째 줄에 있습니다.

내 모든 가상 호스트에서 데이터베이스를 사용하는 호스트 만 느 렸습니다. 데이터베이스 연결을 위해 "localhost"를 찾는 과정이 느려졌 기 때문이라고 생각합니다. "localhost"가 아닌 가상 호스트에 대한 주소 만 추가했기 때문입니다. 이제 모든 것이 다시 부드럽습니다. :)


거기에 localhost에 대한 두 가지 정의가 있습니다. 하나는 더 좋아 보인다.
Aaron Brick

0

나는 이것도 많이 만났다. 저는 IPv4 용과 IPv6 용으로 하나씩 두 줄에 정의 된 가상 호스트를 많이 가지고 있습니다. 목록에서 첫 번째로 확인하려는 호스트를 이동하면 속도가 빨라졌습니다.

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

0

상당한 시간을 낭비하게 만든 멍청한 문제 : @Cleverlemming의 답변 을 적용한 후 호스트 파일에 중복 된 항목이 있음을 알아 냈습니다. 다음과 같은 것 :

::1          site1.local site2.local site1.local site3.local site4.local
fe80::1%lo0  site1.local site2.local site1.local site3.local site4.local
127.0.0.1    site1.local site2.local site1.local site3.local site4.local

그런 다음 site3.local 및 site4.local에 대한 IP 확인에는이 5 초의 시간이 걸립니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.