저는 이전에 Ubuntu 16.04 VPS를 사용하고 있었고 웹사이트와 WordPress를 설정하는 방법에 대한 가이드를 읽고 있었습니다. 저는 /var/www/html 디렉토리를 사용하여 거기에 있는 모든 콘텐츠를 호스팅합니다. 그런 다음 PHP 7 대신 PHP 5를 사용할 수 있도록 Debian 8 서버로 이동하기로 결정했습니다. 가이드에서는 /var/www/html/example.domain/public_html을 사용해야 한다고 했습니다. 이 두 가지 호스팅 방법의 장단점은 무엇입니까? 이 두 가지 외에 다른 호스팅 방법이 있나요? 이 방법은 정확히 어떻게 작동합니까? 직접 IP 주소를 사용하여 브라우저에서 http를 통해 서버에 연결하는 경우 서버는 어떻게 도메인 이름을 IP 주소와 연결하거나 연결합니까?
답변1
질문의 첫 번째 부분( /var/www/html
대 /var/www/html/example.domain/public_html
)은 웹 사이트 콘텐츠를 저장할 위치에 대한 두 가지 다른 규칙입니다. 전자는 사이트가 더 많을 때(일반적으로 웹 호스트로 사용됨) 의미가 있으므로 디렉터리에는 여러 사이트가 포함됩니다(예: /var/www/html/{pub,doc,dev,prod,project1,projectX,...}
사이트 자체) )는 )을 포함할 수 있습니다 public_html
. 후자는 하나의 기본 사이트를 제공하고 있음을 나타내지만 나중에 일부 가상 호스트를 다른 위치(예: )에 추가하는 것을 막을 수는 없습니다 /var/www/whatever.domain/public_html
.
다른 관점에서 보면, 두 번째 방법은 웹사이트 콘텐츠를 직접 추가하는 것을 방지하기 위한 것인데 /var/www/html
, 이는 나중에 다른 웹사이트를 추가하려는 경우 상황을 복잡하게 만듭니다. 다른 디렉터리( ) 아래에 사이트 추가 관련이 있지만 공개되지 않은 콘텐츠(예: )를 저장하려면 public_html
사이트의 루트 디렉터리( )를 사용하는 것이 좋습니다 .example.domain
example.domain/{resources,backup,SQLite.db,whatever_you_want_at_hand}
두 번째 부분인 디렉터리 이름 지정은 도메인 이름을 IP 주소와 연결하는 것과 아무 관련이 없습니다. 이것이 바로 DNS의 용도입니다(일반적으로 도메인 이름 등록 기관이나 호스팅 공급자가 처리함). 가장 간단한 경우, DNS는 귀하의 도메인 이름을 귀하의 IP 주소(ISP나 호스팅 공급자가 제공하거나 테스트를 위해 제공하거나 작동 방식을 확인하기 127.0.0.1
위해 제공 )로 변환하고 웹 서버(Apache, Nginx 등)를 설치합니다. )는 들어오는 모든 요청에 대해 귀하의 웹 사이트를 제공합니다. 이것을 마스터했다면 VirtualHosts를 확인하십시오.localhost
/etc/hosts