안녕, 세상!

2-7 Ubuntu Nginx 서브 도메인 및 Domain Redirection 적용 본문

It공부/Server

2-7 Ubuntu Nginx 서브 도메인 및 Domain Redirection 적용

dev_Lumin 2021. 2. 3. 12:16

도메인이란

ip는 사람이 이해하고 기억하기 어렵기 때문에 이를 위해서 각 ip에 이름을 부여할 수 있게 했는데,

이것을 도메인이라고 합니다.

 

기본 도메인 : 처음에 신청한 기본 웹서버의 이름 (설정한 ip주소의 서버로 이동함)

 

멀티 도메인 : 기본 도메인에 호스트 이름만 다르게 붙여서 사용하는 여러 개의 도메인

 

서브 도메인 : 멀티 도메인과 거의 같으며, 도메인명으로 사용할 수 있는 문자의 개수 내에서 원하는 만큼의 호스트 이름을 얼마든지 붙여서 사용할 수 있는 도메인

 

가상 도메인 : 기본 도메인외에 별도의 도메인으로 기본 도메인과 같은 홈페이지에 연결된 도메인

 

FQDN(Fully Qualified Domain Name)

www.lumin-server.shop이라는 웹사이트 주소로 예를 들어 설명하겠습니다.

우리는 보통 도메인이라고 하면 www.lumin-server.shop이라고 합니다.

하지만 엄격하게 구분하자면

해당 주소의

www는 호스트 이름이고,

lumin-server.shop은 도메인을 의미하는 것입니다.

호스트 이름+도메인으로 구분되어 있는 것입니다.

FQDN은 호스트 이름과 도메인을 함께 표기한 것을 의미합니다.

 

 

서브도메인이란

서브 도메인의 예시는 다음과 같습니다. 다음을 에시로 들어보겠습니다.

mail.daum.net

blog.daum.net

이 예시들은 daum.net이라는 도메인을 기반으로 한 멀티와 같은 개념입니다.

서브 도메인에 따라 동일한 서버 내의 각각 다른 폴더에 접근할 수 있기 때문에 

서브 도메인으로 구분을 지어서 서로 다른 서비스를 제공할 수 있는 것입니다.

 

(1) 서브 도메인 추가

서브 도메인을 적용시키기 위해서 DNS 정보를 설정해줘야 하기 때문에 가비아에 가서 

서브 도메인을 적용해줄 도메인을 선택하고 설정을 해줍니다.

[My 가비아] -> [서비스 관리] -> [관리 툴] -> [DNS 정보] -> [도메인 연결:설정] -> [레코드 수정]

서브 도메인 설정을 위해서 타입은 CNAME으로 설정합니다.

서브 도메인을 두 개를 만들 것인데 이름은 'apple', 'banana'로 설정을 했습니다.

위치는 도메인을 적는데 마지막에 '.'을 찍어줘야 합니다.

가비아 구체적 설정 GUI 경로는 다음 글에서 자세히 확인 가능합니다.

( luminitworld.tistory.com/84 )

 

CNAME 타입 레코드

Canonical Name record의 줄임말로, 소유한 도메인에 별칭을 지정해주는 값입니다.

고유한 호스트명과 레코드 값을 가지므로 도메인 소유권 확인에 이용되기도 합니다.

 

 

 

(2) Nginx 설정 파일 수정

우선 위에서 'apple'과 'banana'의 이름으로 서브 도메인을 만들었으니

Nginx의 기본 경로(루트 디렉터리)에 즉 /var/www/html에 각각 해당 이름으로 디렉터리를 생성합니다.

$ cd /var/www/html
$ sudo mkdir apple
$ sudo mkdir banana
$ ls -l

디렉터리를 생성해준 후 각 디렉터리 안에 서브 도메인에 접근할 때 보일 html 파일을 만들어줍니다.

apple 디렉터리에는 apple.html, apple.php

banana 디렉터리에는 banana.html이라고 필자는 만들었습니다.

(안의 내용은 간단한 html문 혹은 php문으로 작성하면 됩니다.)

 

여태껏 해왔듯이 Nginx 기본 설정 파일 /etc/nginx/sites-available/default로 들어가서

서브 도메인에 대한 추가 설정을 다음과 같이 해줍니다.

$ sudo vim /etc/nginx/sites-available/default

위의 코드는 앞서 만든 apple, banana 두 개의 서브 도메인에 대한 코드이며,

php도 잘 동작시키게 하기 위해서 기본 server과 마찬가지로 php7.2-fpm.sock;을 적어 놓았습니다.

위의 코드는 원래 기존에 있었던 server과 겹치지 않게 중괄호를 잘 보고 작성해줘야 합니다.

위의 사진에서 위의 server가 apple 서브 도메인, 밑의 server가 banana 서브 도메인입니다.

코드에 대한 설명은 코드를 보면 쉽게 이해할 수 있기 때문에 생략하겠습니다.

 

nginx의 설정 파일을 수정했으므로 restart를 해줍니다.

$ sudo service nginx restart

 

이제 주소창에 서브 도메인을 검색해보고 해당 서브 도메인 안에 지정된 파일들이 잘 나오는지 확인합니다.

apple.lumin-server.shop
apple.lumin-server.shop/apple.php

php 역시 잘 나오는 것을 확인할 수 있습니다.

 

이번에는 다른 서브 도메인인 banana 호스트를 확인해보겠습니다.

banana.lumin-server.shop

 

서로 다른 서브 도메인에 대해서 각 서브 도메인이 가지고 있는 서로 다른 파일들이 잘 나오는 것을

확인할 수 있습니다.

 

 

(3) Domain Redirection 적용 

Domain Redirection

네이버 들어갈 때 www.naver.com 들어가곤 합니다.

아이피 주소를 입력을 하더라도 도메인으로 연결되도록 적용하는 것이 Domain Redirection입니다.

보통 Ip to Domain Redirection이라고 합니다.

 

역시나 Nginx 웹서버에 설정하는 것이므로 

Nginx의 설정 디렉터리인 /etc/nginx/sites-available/default로 이동합니다.

위와 같이 설정을 해준 후 Nginx 서버를 재시작해줍니다.

$ sudo service nginx restart

 

주소창에 웹서버의 ip주소를 입력하면 도메인으로 잘 연결되는 것을 확인할 수 있습니다.

 

( 참조 : memorynotfound.com/nginx-redirect-ip-address-domain-name/

         : swiftcoding.org/nginx-routing )

'It공부 > Server' 카테고리의 다른 글

WSL 사용 경험  (0) 2021.02.24
3. AWS RDS 구축 (MySQL)  (0) 2021.02.08
2-6 AWS에 Let's Encrypt로 HTTPS 적용하기  (0) 2021.02.02
2-5 도메인 구입 및 설정  (0) 2021.02.02
2-4 AWS에 PHPMyAdmin 설치  (1) 2021.02.02
Comments