728x90
반응형
웹사이트를 만들 때 "내가 가진 웹 서버(IP 주소)"와 "내가 만든 도메인 이름"을 연결하는 절차를 순서대로 정리해 드릴게요.
🔹 도메인 등록 & 매핑 절차 (전체 흐름)
- 도메인 이름 정하기
- 예: mycoolproject.com
- 규칙: 이미 다른 사람이 등록한 도메인은 사용할 수 없음 (WHOIS 검색으로 확인 가능)
- 도메인 등록 기관(Registrar)에서 구매
- 예: 가비아, 카페24, AWS Route 53, GoDaddy, Namecheap 등
- 연 단위로 등록 (보통 1년 단위, 연장 가능)
- 네임서버(NS) 설정
- 도메인이 어떤 DNS 서버에서 관리되는지 지정
- 기본적으로 Registrar에서 제공하는 네임서버를 쓰거나, 직접 DNS 서버를 운영할 수도 있음
- DNS 레코드 등록 (도메인 → IP 매핑)
네임서버에 들어가서 다음처럼 설정:- A 레코드: 도메인 → IPv4 주소
- 예: mycoolproject.com → 123.45.67.89
- AAAA 레코드: 도메인 → IPv6 주소
- CNAME 레코드: 도메인 별칭 설정
- 예: www.mycoolproject.com → mycoolproject.com
- MX 레코드: 이메일 서버 설정 시 필요
- A 레코드: 도메인 → IPv4 주소
- 웹 서버 준비 (IP 주소 유효해야 함)
- 도메인이 가리킬 웹 서버를 준비 (Apache, Nginx, Node.js 등)
- 방화벽/포트(보통 80, 443) 열기
- Virtual Host 또는 server block 설정에서 도메인 이름과 매칭
- DNS 전파 확인
- DNS 변경 사항은 전 세계 네임서버로 퍼지는데 시간이 걸림 (보통 수 분 ~ 24시간)
- nslookup mycoolproject.com 또는 dig mycoolproject.com 명령어로 확인
- SSL 인증서 발급 (HTTPS 사용 원할 경우)
- 무료: Let’s Encrypt
- 상용: DigiCert, Sectigo 등
- 발급 후 웹 서버에 설치 → https://mycoolproject.com 접속 가능
728x90
🔹 예시 (내 서버 IP = 123.45.67.89, 도메인 = mycoolproject.com)
- GoDaddy에서 mycoolproject.com 등록
- GoDaddy DNS 설정에 들어가서
- A 레코드 추가:
Host: @
Value: 123.45.67.89
-
- CNAME 레코드 추가:
Host: www
Value: mycoolproject.com
- 내 서버(Nginx) 설정:
server {
listen 80;
server_name mycoolproject.com www.mycoolproject.com;
root /var/www/mycoolproject;
}
- DNS 전파 확인 → 접속 테스트
✅ 정리
- 도메인 구매 → 네임서버 설정 → DNS 레코드 등록(A, CNAME 등) → 웹 서버 설정 → DNS 전파 확인 → (옵션) SSL 적용
- 이 과정을 거치면 내가 만든 도메인 이름으로 웹 서버에 접속할 수 있게 됩니다.
더보기
4번에서 이미 **DNS 레코드 등록(A 레코드)**을 통해 "도메인 → IP 주소" 매핑은 끝났습니다.
그런데 여기서 끝이 아니고, **웹 서버 준비(6번)**가 따로 필요한 이유는 이렇게 이해하시면 돼요.
🔹 DNS와 웹 서버의 역할 차이
- DNS 레코드 등록 단계 (4번)
- 단순히 "이 도메인 이름 → 저 IP 주소" 라는 길 안내표를 만든 것.
- 예: mycoolproject.com → 123.45.67.89
- 즉, 도메인을 입력했을 때 어느 서버(IP)에 가야 하는지까지만 알려줌.
- 웹 서버 준비 단계 (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 안에 보통 있는 것들
- 로그 파일 (/var/log)
- 시스템/애플리케이션 로그 저장
- 예: /var/log/syslog, /var/log/nginx/access.log
- 메일/스풀 (/var/mail, /var/spool)
- 메일 서버나 프린트 스풀 같은 대기 작업 저장
- 캐시/임시 데이터 (/var/cache, /var/tmp)
- 프로그램 실행 중 생성되는 임시 데이터
- 웹 서버 데이터 (/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
반응형
'네트워크2' 카테고리의 다른 글
| HTTP 요청/응답 (서버와 통신) :: XHR vs fetch vs Axios (0) | 2025.10.04 |
|---|---|
| 브라우저 업로드 진행률 표시 XHR / fetch :: 콜백 vs Promise, async/await (0) | 2025.10.04 |
| 쿼리 파라미터 ?key=value&key=value :: 웹 서버에서 처리 과정 (0) | 2025.10.03 |
| 불법 사이트 안 걸리는 이유 vs 걸리는 이유 (0) | 2025.10.03 |
| 불법 사이트들이 도메인을 바꾸는 방식 (0) | 2025.10.03 |
| 이더넷 (Ethernet) 이란? :: IEEE 802 / IEEE 802.3 / IEEE 802.11 (0) | 2025.10.02 |
| Gateway (게이트웨이) & Endpoint (엔드포인트) (0) | 2025.10.02 |
| Response Headers :: 캐시 관련 정보 Cache-Control / Etag / X-nextjs-Cache (0) | 2025.10.02 |