잠시 동안 나는 이렇게 호스트 파일을 포맷했습니다. 두 줄에서 동일한 IP를 확인하십시오.
e.f.g.h foo.mydevsite.com
e.f.g.h foo.myOtherDevSite.com
최근에 별칭을 한 줄로 통합해야한다고 읽었습니다.
e.f.g.h foo.mydevsite.com foo.myOtherDevSite.com
그러나 특정 별칭을 쉽게 주석 처리하거나 다음과 같이 특정 별칭에 주석을 추가 할 수 없기 때문에이 방법이 마음에 들지 않습니다.
a.b.c.d foo.mydevsite.com # myDevSite on box 1
# a.b.c.d foo.myOtherSite.com # myOtherSite on box 1
a.b.c.d ubuntuBox
e.f.g.h foo.myOtherSite.com # myOtherSite testing environment
지금까지 이것은 잘 작동했습니다. 이것에 문제가 있습니까?
답변
이 줄을 따라 뭔가를하는 것을 논의하는이 스레드를 발견했습니다. 스레드는 /etc/hosts
파일에 여러 줄을 두지 않는 것에 대해 매우 단호 합니다.
발췌 -Re : / etc / hosts : 동일한 IP 주소를 가진 두 줄?
아닙니다. 리졸버는 첫 번째 해상도에서 멈 춥니 다. 다음과 같은 것이 있습니다.
127.0.0.1 localhost.localdomain localhost 127.0.0.1 somenode.somedom.com somenode
당신이 말하는 것을하지 않을 것입니다. 그러나 :
127.0.0.1 somenode.somedom.com somenode 127.0.0.1 localhost.localdomain localhost
모든 종류의 혼란을 초래할 것입니다. 전달을 포함합니다.
나는 일반적으로 당신이 시도하는 것을하지 않을 것입니다. 더 많은 증거가 필요하면 매뉴얼 페이지에서도이를 수행하지 말라고 지시합니다.
발췌 man hosts
이 매뉴얼 페이지는 / etc / hosts 파일의 형식을 설명합니다. 이 파일은 IP 주소를 IP 주소 당 한 줄씩 호스트 이름과 연결하는 간단한 텍스트 파일입니다. 각 호스트에 대해 다음 정보가있는 단일 행이 있어야합니다.
IP_address canonical_hostname [aliases...]
호스트 이름이 FQDN이고 겹치지 않으면이 작업을 수행하는 것이 안전 할 것입니다. 위의 스레드에서 언급 한 것과 같은 겹치는 부분이 있으면 문제를 해결할 수 있습니다.
답변
세 번째 방법은 잘 작동하고 있다고 생각합니다. 이것에 문제가 있습니까?
나는 항상 조금씩 해왔지만 man gethostbyaddr
그 시스템 호출 에 따라 /etc/hosts
IP 주소를 이름과 연결하는 데 사용할 수 있기 때문에 잠재적 인 문제 가 있습니다 . 훨씬 일반적인 경우가 다른 방법이지만 (이름에서 주소를 얻음) 재미있는 일이 발생하는 경우이를 알고 있어야합니다.
답변
Apache 2.4가 Unix 시스템에서 시작을 거부했습니다. 근본 원인은 / etc / hosts의 중복 행입니다. 중복 줄을 제거한 후 웹 서버를 시작할 수있었습니다.