본문 바로가기

Programming/etc

[tomcat] 도메인 연결

흐아;;;

dns 호스팅받아서 작업할땐 늘 누가 대신해주고 했는데;;;

이거 혼자하려니 좀 헤매더군요;;

우선 저는 1개의 도메인에 1개의 프로젝트만 맵핑하는 것을 기준으로 하겠습니다.

만약 여러 프로젝트를 맵핑해야된다면 tomcat virtual host 라는 키워드로 검색해보시면 될 것 같아요.

(ip port만 달리해서 여러 개를 공유하고 싶다면 tomcat virtual host service 로... 검색해보시면...)


tomcat을 설치하면 보통 server.xml에

<Host> 태그는 하나뿐이 없을겁니다. (/Host와 pair)

attribute는 name, appBase, unpackWARs, autoDeloy 등이 있는데요.

맵핑에 있어서 필요한 정보는 name 입니다.

맵핑할 도메인 네임주소가 여기에 들어갑니다. (프로토콜을 가리키는 http:// 는 빼고 입력해주세요.)

여기까지가 도메인 설정입니다.


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

</Host>


저 도메인을 구입하였고 위와 같이 해당 도메인에 맵핑되어있는 ip의 서버의 톰캣의 server.xml에

기술을 해주셨다면 www.creator1022.com 을 입력하는 순간

톰캣의 webapps의 ROOT 폴더에 접근하게 됩니다.


여기까지가 도메인에 맵핑되어있는 ip 서버의 톰캣의 webapps ROOT 폴더에

도메인을 링크하는 방법입니다.


그렇다면 내가 개발한 프로젝트를 맵핑하려면 어떻게 해야할까요 ``?

(사실 이게 정석인지는 모르겠습니다;;;

 매일 ROOT 이하에 war를 풀기만 했지, 억지로 프로젝트 폴더를 맵핑 한 적이 없어서요 ㅠㅠ)

<Host> 태그 사이에 자식 엘리먼트로 <Context> 태그를 삽입해줍니다.

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

   <Context path="" docBase="C:\myPrj" ....></Context>

</Host>

이상입니다.

위와같이 작성을 하게 되면 www.creator1022.com 은

ip서버 내의 C드라이브의 myPrj 폴더를 바라보게 됩니다.

여기서 한가지 짚고 넘어갈 것은

Host 엘리먼트의(태그) 속성(attribute)로 appBase에 직접 전체 경로 C:\myPrj 를 기술해주고

Context 의 docBase 에도 기술해주면 똑같이 작동합니다.


그럼 즐거운 플밍 되세요 :)