티스토리 뷰

반응형

가상호스트란?

웹서버에 기본적으로 존재하는 Host가 Main Host라고 한다. (www.도메인)

하나의 웹서버에 Main Host외 별도의 디렉터리를 가진 여러개의 Host를 설정해서 사용할 수 있는데

Main Host외의 나머지 Host들을 모두 Virtual Host(가상호스트)라고 한다.



서브도메인 이란?

호스트 계정 내의 IP주소 및 디렉터리를 향하도록 할 수 있는 도메인 이름의 확장자.

도메인에 보조적인 역할?을 해줄 수 있는 어플리케이션을 같은 도메인 내 가상호스트를 추가해서 여러개 추가 구성할 수 있다.

서브도메인을 사용하면 사이트의 고유한 컨텐츠 영역을 기억하기 쉬운 웹 주소를 쉽게 만들 수 있다.

쉽게 말해서 하나의 Tomcat에 여러 개의 사이트들을 돌릴 수가 있다!



서브도메인의 필요성?

개인적으로 서브도메인 구성을 하게된 계기는 반응형(CSS미디어쿼리사용한) 웹사이트를 개발 후 보다 좀 더 모바일에

친숙한 페이지를 구성하고 싶었지만 반응형으로 구현했다보니 PC버전의 디자인과 모바일버전의  디자인 모두를 고려하면서 CSS 작성해야했다.

고민 중에 아에 타업체들이 하는 것처럼 m.으로시작하는 서브도메인을 구성해서 전용모바일페이지를 구현하면 좋겠다라는 생각으로 시작했다.


또한 관리자용, 리소스용, API용 등도 추가해나가면 이러한 역할들이 서브도메인에 종속되기 때문에

보다 심플한 URI설계와 보안 및 관리 등의 장점들이 너무 많아서 꼭 서브도메인 구성을 고려하는게 좋다.

 


웹 서버에 서브도메인 설정/추가하기

Tomcat에서 가상호스트를 추가하는 설정을 통해서 각 서브도메인에 대해 별개의 웹 어플리케이션을 구동할 수 있다.
Tomcat 8.0 환경에서 테스트 했습니다.


1. server.xml에 Host요소 추가하기

$CATALINA_HOME 하위에 위치한 conf /server.xml파일을 열어보면 Service Engine 하위에 Host요소가 한개있을 것이다.

여기에 아래와 같이 서브도메인에 연결시킬 호스트를 추가 작성한다.

※ CATALINA_HOME 환경변수는 톰캣의 최상위 폴더를 가르킨다.

...

...

<Service name="Catalina">

<Connector .... >

<Engine ...>


...


<!-- 기본 호스트 -->

<Host name="test.com" appBase="webapps" unpackWARs="true" autoDeploy="true">

</Host>


<!-- 서브도메인에 연결시킬 호스트 추가 설정 -->

<Host name="m.test.com" appBase="m" unpackWARs="true" autoDeploy="true">

</Host>


</Engine>

</Service>

...

...


- name속성에는 추가할 서브도메인명을 작성한다.

- appBase속성에는 웹어플리케이션이 위치할 디렉터리를 작성한다. (상대경로시 $CATALINA_HOME을 기준으로 디렉터리패스가 잡힌다.)



2. 추가한 호스트의 컨텍스트 설정을위한 ROOT.xml 작성하기

$CATALINA_HOME/conf/Catalina 하위에 방금 추가한 서브도메인명과 동일한 폴더를 만든 후

하위에 ROOT.xml 파일을추가한다음 아래와 같이 작성 후 저장해준다.


<?xml version="1.0" encoding="UTF-8"?>

<Context docBase="www/webapps/m" privileged="true">

</Context>



이렇게 함으로써 서브도메인 추가 설정을 완료했다.

이제 $CATALINA_HOME 하위에 m디렉터리를 생성 후 하위에 ROOT디렉토리를 추가해주자.

여기서 m.도메인의 어플리케이션을 담고있는 프로젝트 소스를 배포 후 서버를 재구동시키면 된다.


※ $CATALINA_HOME/webapps 폴더는 기존 (www.도메인)의 어플리케이션을 담고있다.


※ 설정된 디렉터리 구조(새롭게 추가한것은 진하게 표기함)


$CATALINA_HOME

ㄴ conf

ㄴ Catalina

m.test.com

ROOT.xml 

ㄴ server.xml

ㄴ webapps

ㄴ ROOT

ㄴ www.test.com의 웹어플리케이션소스

m

ROOT

ㄴ m.test.com의 웹어플리케이션소스





키워드

- 단일 Tomcat에서 여러 개의 Host 도메인 추가/등록하기

- 서브도메인 설정하기

- 가상호스트 설정하기

- 웹 서버에 가상호스트 추가하기

- m.으로 시작하는 서브도메인 생성하기

- 모바일전용 사이트 만들기


반응형

'프로그래밍 > 서버(WS, WAS)' 카테고리의 다른 글

리눅스 Tomcat 설치  (0) 2017.09.02
리눅스 서버 관련 명령어 정리  (0) 2017.09.02
apache rewrite 사용법 정리  (0) 2017.08.05
Tomcat 특정 IP 차단하기  (0) 2017.06.10
Tomcat 포트 변경하기  (0) 2017.05.13
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함