본문 바로가기
네트워크2

도메인 구매 후 DNS 서버에 등록 절차

by 로맨틱스터디 2025. 10. 3.
728x90
반응형

웹사이트를 만들 때 "내가 가진 웹 서버(IP 주소)"와 "내가 만든 도메인 이름"을 연결하는 절차를 순서대로 정리해 드릴게요.


🔹 도메인 등록 & 매핑 절차 (전체 흐름)

  1. 도메인 이름 정하기
    • 예: mycoolproject.com
    • 규칙: 이미 다른 사람이 등록한 도메인은 사용할 수 없음 (WHOIS 검색으로 확인 가능)
  2. 도메인 등록 기관(Registrar)에서 구매
    • 예: 가비아, 카페24, AWS Route 53, GoDaddy, Namecheap
    • 연 단위로 등록 (보통 1년 단위, 연장 가능)
  3. 네임서버(NS) 설정
    • 도메인이 어떤 DNS 서버에서 관리되는지 지정
    • 기본적으로 Registrar에서 제공하는 네임서버를 쓰거나, 직접 DNS 서버를 운영할 수도 있음
  4. DNS 레코드 등록 (도메인 → IP 매핑)
    네임서버에 들어가서 다음처럼 설정:
    • A 레코드: 도메인 → IPv4 주소
      • 예: mycoolproject.com → 123.45.67.89
    • AAAA 레코드: 도메인 → IPv6 주소
    • CNAME 레코드: 도메인 별칭 설정
      • 예: www.mycoolproject.com → mycoolproject.com
    • MX 레코드: 이메일 서버 설정 시 필요
  5. 웹 서버 준비 (IP 주소 유효해야 함)
    • 도메인이 가리킬 웹 서버를 준비 (Apache, Nginx, Node.js 등)
    • 방화벽/포트(보통 80, 443) 열기
    • Virtual Host 또는 server block 설정에서 도메인 이름과 매칭
  6. DNS 전파 확인
    • DNS 변경 사항은 전 세계 네임서버로 퍼지는데 시간이 걸림 (보통 수 분 ~ 24시간)
    • nslookup mycoolproject.com 또는 dig mycoolproject.com 명령어로 확인
  7. SSL 인증서 발급 (HTTPS 사용 원할 경우)
    • 무료: Let’s Encrypt
    • 상용: DigiCert, Sectigo 등
    • 발급 후 웹 서버에 설치 → https://mycoolproject.com 접속 가능
728x90

🔹 예시 (내 서버 IP = 123.45.67.89, 도메인 = mycoolproject.com)

  1. GoDaddy에서 mycoolproject.com 등록
  2. GoDaddy DNS 설정에 들어가서
    • A 레코드 추가:
Host: @
Value: 123.45.67.89
    • CNAME 레코드 추가:
Host: www
Value: mycoolproject.com
  1. 내 서버(Nginx) 설정:
server {
    listen 80;
    server_name mycoolproject.com www.mycoolproject.com;
    root /var/www/mycoolproject;
}
  1. DNS 전파 확인 → 접속 테스트

정리

  • 도메인 구매네임서버 설정 → DNS 레코드 등록(A, CNAME 등) → 웹 서버 설정 → DNS 전파 확인 → (옵션) SSL 적용
  • 이 과정을 거치면 내가 만든 도메인 이름으로 웹 서버에 접속할 수 있게 됩니다.

 

더보기

4번에서 이미 **DNS 레코드 등록(A 레코드)**을 통해 "도메인 → IP 주소" 매핑은 끝났습니다.

그런데 여기서 끝이 아니고, **웹 서버 준비(6번)**가 따로 필요한 이유는 이렇게 이해하시면 돼요.


🔹 DNS와 웹 서버의 역할 차이

  1. DNS 레코드 등록 단계 (4번)
    • 단순히 "이 도메인 이름 → 저 IP 주소" 라는 길 안내표를 만든 것.
    • 예: mycoolproject.com → 123.45.67.89
    • 즉, 도메인을 입력했을 때 어느 서버(IP)에 가야 하는지까지만 알려줌.
  2. 웹 서버 준비 단계 (6번)
    • 실제 그 IP 주소에 있는 서버가 요청을 받아 처리할 준비를 해야 함.
    • 웹 서버 소프트웨어(예: Apache, Nginx, IIS 등)가 설치되어 있어야 하고,
    • 그 서버가 "내가 이 도메인의 요청을 처리한다"라고 인식하도록 설정해야 함.
    • 그렇지 않으면 서버는 요청을 받아도 어떤 사이트를 보여줄지 모름 → default page나 404 Not Found 뜸.

🔹 비유로 설명

  • DNS = “전화번호부”
    • "홍길동(도메인) → 010-1234-5678(IP)" 매핑만 알려줌.
  • 웹 서버 준비 = “홍길동이 전화를 받을 준비”
    • 그 번호로 전화를 걸었을 때, 진짜 홍길동이 전화를 받아야 함.
    • 만약 전화기가 꺼져 있거나 다른 사람이 받으면, 원하는 결과를 얻을 수 없음.

🔹 실제 예시

  • DNS에서 mycoolproject.com → 123.45.67.89로 설정했음.
  • 그런데 123.45.67.89 서버에 웹 서버가 안 켜져 있으면? → 브라우저에서 연결 오류(ERR_CONNECTION_REFUSED) 발생.
  • 웹 서버는 켜져 있는데 도메인 설정을 안 해놓으면? → 접속은 되지만 "Welcome to nginx!" 같은 기본 페이지만 보임.

정리

  • 4번(DNS)은 주소 안내판 역할 → "어디로 가야 하는지" 알려줌
  • 6번(웹 서버 준비)은 집 주인 준비 역할 → "찾아온 손님을 어떻게 맞이할지" 설정

 

리눅스 계열 시스템에서 /var은 꽤 중요한 디렉터리인데, 처음 보면 헷갈리죠.


🔹 /var 디렉터리란?

  • 의미: variable의 약자 → "자주 변하는 데이터(variable data)"를 저장하는 곳
  • 위치: 루트(/) 디렉터리 밑에 있음 → /var
  • 특징: 운영체제가 실행되면서 수시로 바뀌는 데이터들을 모아놓는 공간

🔹 /var 안에 보통 있는 것들

  1. 로그 파일 (/var/log)
    • 시스템/애플리케이션 로그 저장
    • 예: /var/log/syslog, /var/log/nginx/access.log
  2. 메일/스풀 (/var/mail, /var/spool)
    • 메일 서버프린트 스풀 같은 대기 작업 저장
  3. 캐시/임시 데이터 (/var/cache, /var/tmp)
    • 프로그램 실행 중 생성되는 임시 데이터
  4. 웹 서버 데이터 (/var/www)
    • Apache, Nginx 등 웹 서버가 기본으로 웹 페이지 파일을 두는 위치
    • 예: /var/www/html/index.html

🔹 root /var/www/mycoolproject; 의 의미

웹 서버 설정(Nginx 예시)에서

 
server {
    listen 80;
    server_name mycoolproject.com;
    root /var/www/mycoolproject;
}
  • root = 도메인 요청이 왔을 때, 실제로 파일을 찾아볼 디렉터리 지정
  • /var/www/mycoolproject = 내 웹사이트 파일(index.html 등)이 저장된 경로

즉, 사용자가 http://mycoolproject.com/index.html에 접속하면
👉 서버는 /var/www/mycoolproject/index.html 파일을 찾아서 돌려줍니다.


정리

  • /var = 자주 바뀌는 데이터 저장소 (로그, 캐시, 메일, 웹 등)
  • /var/www = 웹 서버용 디렉터리(보통 웹사이트 파일 두는 기본 위치)
  • root /var/www/... = "이 도메인은 여기 있는 파일들을 보여줘"라는 웹 서버 설정
728x90
반응형