가상호스팅이란?


하나의 웹서버에 다른 도메인으로 여러 어플리케이션(웹사이트)을 돌리는것



가상호스팅 방법



1. ${catalina_home}/conf/server.xml 수정


크게 <Service> <Connector> <Engine> <Host> 태그가 있다.


Host태그를 보면 <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"></Host>

이렇게 되어있다.


name 부분이 도메인 즉 호스트명이며

appBase 부분은 어플리케이션이 위치할 경로이며  ${catalina_home}다음 상대경로가 잡혀있다. (절대경로 입력가능)


host 태그안에 context설정을 안하면 <Context docBase="ROOT" path="" /> 이렇게 기본값이 들어가는데

path는 도메인/xxxx 이 xxxx부분 경로를 설정하는 부분이며

설정된 path값의 URL이 어떤docBase를 이용할지 설정하는 태그이다.


그래서 톰캣을 깔고 localhost:8080 을 들어가면 고양이페이지가 나오는데 그 index.jsp는

 ${catalina_home}/webapps/ROOT/index.jsp 경로에 존재한다


이상 여담


<Host name="aaa.com"  appBase="D:\aaa" unpackWARs="true" autoDeploy="true">

        <Context docBase="aaa" path="" reloadable="true" />

</Host>


이렇게 태그를 추가 해준다.

aaa.com 을 호스트명으로 해주며

해당 호스트명으로 접속시 D:\aaa경로에서 어플리케이션을 찾는다는 설정이다.


수정끝



2. 소스파일 위치


appBase 경로에 war를 넣던 프로젝트 소스를 올린다


여기서 잠깐 나는 도메인을 산게 아니니 hsots파일에 도메인 ip매핑을 했다.

C:\Windows\System32\drivers\etc\hosts 파일에 

127.0.0.1     aaa.com 을 추가한다.


혹시나 hosts파일이 권한때문에 수정이 안되면 

https://sleepyeyes.tistory.com/ 를 참고하자.



3. 톰캣 실행



 톰캣을 실행시켜준다


 ${catalina_home}/bin/startup.bat 실행


이제 브라우저에 aaa.com:8080으로 접속! (각자의 어플리케이션 경로에 맞게 url 뒷부분을 더 넣어주자)후 확인~


localhost:8080 도 확인~


aaa.com으로 각자가 넣은 웹프로젝트가 나올 것이고

localhost로 여전히 고양이가 반겨준다


이렇게 하나의 서버로 두가지 어플리케이션을 다른 도메인으로 돌릴수 있다



참고

https://gs.saro.me/dev?tn=461

https://okky.kr/article/91825



+ Recent posts