[Web] - 무료 도메인 연동

오동훈·2023년 1월 23일
0

AWS Cloud

목록 보기
5/8
post-thumbnail

1. Freenom 도메인 발급하기

보통 도메인 네임으로 가장 유명한 .com 같은 것들은 생각보다 저렴해서 놀랐다. 한 1년에 13000원 정도??

하지만 지갑이 너덜한 나는 무료 사이트를 원했고 그 중에 하나 freenom 이라는 사이트가 있다!

별로 인기 없는 이름이지만 도메인 연동에 초점을 맞춰 경험해보려고 냉큼 신청~

1. 원하는 도메인 이름 찾기

사이트를 들어가게 되면 해당 페이지가 보일텐데, 저기 가운데 빨간 검색 부분에 원하는 도메인 이름을 검색해 치면 사용 가능 여부를 확인할 수 있다.

2. 원하는 도메인 select

이전에 나는 oddong.tk로 도메인을 발급 받았었는데, 지금 포스팅 하려고 보니 사이트가 맛탱이가 가버렸다. 나중에 되는거는 다시 포스팅해야지

암튼 이 단계에서는 원하는 도메인 select를 하고 Checkout 버튼을 눌러주면 됩니당~!!

3. 도메인 유효기간 설정

우측 Period 부분에서 유효기간 설정이 가능하다.

나는 12개월까지 무료여서 냅다 12개월로 설정~

4. 구매하고 로그인

결제 금액은 0원인데, 구매하려면 로그인을 해야한다. 다들 회원가입하고 로그인 궈궈~

5. 발급받은 도메인 확인

상단에 [Services > My Domains]을 클릭해주면 발급받은 도메인 확인인 가능합니다.

6. 도메인 - IP 연동

Manage Domain > Manage Freenom DNS를 클릭해줍니다.

  • Name : 사용할 주소 앞에 붙는 이름입니다. Name을 붙이지 않는다면 oddong.tk 만으로 접근이 가능하고, www를 붙인다면 www.oddong.tk를 입력해야 서버에 접근이 가능해집니다.
  • Type : DNS 레코드를 고르는 부분입니다. DNS 레코드 부분은 아래서 다시 설명하겠습니다.
  • TTL(time to live) : 캐시의 유지 시간으로 길게 잡으면 캐싱이 오래 유지되지만, 설정을 변경하였을 때 유지 시간이 지나야 적용합니다. 기본 디폴트 값은 3600초입니다.
  • Target : 연결 할 서버의 IP 주소입니다.

입력이 끝났으면 Save Changes를 눌러 적용시켜줍니다.

우선 여기까지 하면 도메인 발급과 IP 주소와의 연동은 끝났습니다. 이후에 서버에서 Nginx 처리만 해주면 원활하게 작동합니다.

7. Etc. DNS recode

1. A 레코드

  • A 레코드는 가장 일반적으로 사용되는 레코드 유형입니다.
    웹 사이트를 만드는 경우 일반적으로 도메인 이름을 구입할 때 DNS 등록 기관에서 IP 주소를 제공합니다.
  • A 레코드에는 도메인의 루트를 가리키는 기능도 가지고 있습니다.
    예를 들어 웹사이트가 www.example.com 에 있는 경우 도메인의 루트는 example.com이 됩니다.

2. AAAA 레코드

  • AAAA 레코드는 도메인 이름을 IP 주소로 지정한다는 점에서 A 레코드와 매우 유사합니다.
  • 단, IP 주소가 IPv4가 아닌 IPv6 주소를 가리킵니다.
    ex) 2001:0db8:85a3:0000:0000:8a2e:0370:7334

3. CNAME 레코드

  • 별칭 레코드라고도 하는 CNAME 레코드는 호스트 이름을 다른 호스트 이름 또는 FQDN으로 지정합니다.
  • CNAME 레코드는 호스트 이름에 A 레코드를 구체적으로 할당할 필요 없이 여러 호스트를 단일 위치로 가리키는 데 사용합니다.
    ex). 블로그 news.example.com에서 blog.example.com으로 이동한 경우라면 CNAME 레코드를 사용합니다.

2. 서버 띄우자~!!

위에서 도메인 이름을 쳐서 해당 IP까지 도달했다면, 도달한 IP를 내부 원하는 port로 연동시켜 서버를 띄우는 작업을 진행해줘야 합니다.

1. Nginx 설정 (1)

/etc/nginx/sites-available/에 들어가 육안으로 파악하기 쉽게 `oddong.tk'로 이름을 지어 연동을 해보겠습니다.

이름은 크게 중요하지 않으니 원하는 이름으로 설정해주시면 됩니다.

  • 기본적으로 컴퓨터에 있는 웹서버는 80번 포트와 연결되어 있습니다.
vi /etc/nginx/sites-available/oddong.tk


  1 server {
  2         listen 80;						# 80번 포트로 들어오면
  3         server_name www.oddong.tk;		# 도메인 이름
  4     	server_name oddong.tk;			# 도메인 이름
  5 
  6         location / {
  7         include proxy_params;
  8         proxy_pass http://localhost:8000;	# 8000번 포트로 연동
  9         }
 10 }

이는 클라이언트가 server_name:80으로 요청을 보내면 http://<server_name>:8000;으로, 즉 앞으로 설정할 gunicorn으로 연결되어 요청이 처리된다는 의미입니다.

2. Nginx 설정 (2)

위의 sites-available에서 설정했던 파일을 sites-enabled 디렉토리로 파일 복사해줍니다.

sites-available 폴더는 설정을 저장하는 곳이며, 이 안의 설정 파일은 실제로 반영이 되지는 않습니다. 따라서 실제로 반영이 되는 폴더인 sites-enabled 폴더로 복사해주어야 하는데, 파일이 2개면 동기화의 어려움이 있을 수 있으니 심볼릭 링크를 이용해 연동해줄 것입니다.

sudo ln -s /etc/nginx/sites-available/oddong.tk /etc/nginx/sites-enabled

3. gunicorn 키자잇

gunicorn을 킬 수 있는 방법은 소켓 방식과 IP 방식 2개가 존재하는데 우선 IP 방식으로 켜보고 연동이 되는지 확인해보겠습니다.

gunicorn --bind 0:8000 config.wsgi:application

4. 결과

다음처럼 도메인을 입력했을 뿐인데, 앞서 설정한 과정에 의해 IP 주소로 연동돼 서버가 가동되고 있는 것을 확인할 수 있습니다~!!

일단 도메인 서버 연동 해본거고 다음에는 Route 53으로 연동해봐야디~~


참고자료 📩

dns-record-types

profile
삽질의 기록들🐥

0개의 댓글