본문 바로가기
  • 오늘도 한걸음. 수고많았어요.^^
  • 조금씩 꾸준히 오래 가자.ㅎ
IT기술/리눅스

tomcat에서 appBase 설정, 웹 파일 위치 설정

by 미노드 2021. 8. 6.

tomcat으로 웹 프로젝트를 실행할 때 웹 파일이 담겨질 위치를 정할 수 있다.

tomcat 안의 webapps 폴더에있는 ROOT 가 기본적인 웹 파일 경로로 지정되어있으며

처음으로 톰캣 실행 해보면 ROOT경로의 파일이 열린다.


그러나 원하는 경로로 설정하여 웹파일을 관리해야 하는 경우가 대부분이기에 설정파일을 변경해 수행 할 수 있다.

conf 내의 server.xml 파일을 수정해야 한다.

 

server.xml 을 열어보면 Host 태그의 appBase 부분을 주목하자.

기본설정으로 webapps라고 되어있다.
이 덕분에 tomcat 폴더의 webapps라는 폴더가 경로로 사용되는 것이다.

<Host> 태그 내에는 로그를 관리하는 태그 뿐인데, 실행되는 웹 파일은 webapps의 ROOT폴더이다.
이는 별도의 설정파일 없이 기본적으로 ROOT 폴더를 참조하도록 설정되어 있기 때문이다.
만일 원하는 경로로 지정해주려면 <Context> 태그를 통해 설정을 추가해야한다.

<Context path="" docBase="지정경로" reloadable="false"></Context>

Context 내의 docBase를 통해 원하는 경로를 설정하여 수행하는 것이다.
reloadable 속성은 class파일의 변경이 일어났을 때 알아서 재적용을 해주는 것이며 이는 메모리를 소모한다.
15초 간격으로 재적용을 해준다는데, 용도에 따라서 true로할지 false로 할지 선택하자.

<Host>의 appBase와 <Context>의 docBase를 가지고 경로를 원하는데로 설정해본다면 경로는 다음처럼 된다.
appBase경로/docBase경로

그래서 나는 appBase를 절대경로, docBase를 상대경로로 지정하여 사용한다.

 

) 예시

사진에 나온대로 작성을 한다면 web파일을 실행시키기위해 넣어야 하는 경로는
/home/webpolder/project/megaview 폴더 가 될것이다.

 <Host name="localhost" appBase="/home/webpolder/project/megaview"
             unpackWARs="true" autoDeploy="true" >
        <Context path="" docBase="." reloadable="false" />
</Host>

이렇게 해도 같은 경로로 사용될 수 있다.