하나의 웹서버에 다른 도메인으로 여러 어플리케이션(웹사이트)을 돌리는것
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