본문 바로가기
  • ▒ 네모의 쉽게 배우는 네트워크 | 개발 ▒
웹어플리케이션(Tomcat)/톰캣 설정하기

초보자를 위한 아파치 톰캣(tomcat) 구조 분석(for. 시스템 엔지니어)

by 너l모 2024. 1. 21.
반응형

※ 업무하면서 습득한 내용들을 정리해 놓은 포스팅입니다 :P 추가로 궁금하신 점은 댓글로 남겨주시고 필요한 자료 있으면 요청주세요! 잘못된 내용이 있으면 고쳐주시면 감사하겠습니다. 자료 퍼가실 때는 출처 남겨주세요!


 


※ 코드 보는 방법 참고

ㅇ 달러 기호($)가 있는 경우 -> 리눅스 터미널에서 CLI 명령어 입력

ㅇ "=#" 기호가 있는 경우 -> psql 쉘에서 명령어 입력

ㅇ 꺽쇠가 하나 있는 경우(>) -> 윈도우 명령 프롬프트(cmd)에서 명령어 입력

ㅇ 꺽쇠가 세개 있는 경우(>>>) -> python 쉘에서 명령어 입력


 

안녕하세요, 네모입니다 ~

 

개발자의 관점에서 톰캣에 대한 설명글은 많은데, 운영을 하는 시스템 엔지니어의 입장에서 쓰여진 글은 잘 없더라구요

 

그래서 오늘은 시스템 엔지니어의 관점에서 아파치 톰캣 운영을 위해 꼭 알아야 할 톰캣 구조에 대해 정리해보려고 합니다. 

 

초보 엔지니어 분들이 톰캣 운영을 할 때 조금이나마 도움이 되었으면 좋겠습니다 :)

 

1. 톰캣(tomcat) 이란? 

- java 기반 동적 웹 어플리케이션(대표적인 WAS 중 하나)

- 프론트엔드(apache, nginx 등)를 두고 웹 서비스를 제공할 수도 있지만 그 자체로 웹 서비스를 제공하기도 하고 동적 기능만을 구현해서 앱과 연동해서 사용하기도 함

 

2. 운영을 위한 주요 파일/디렉터리 개요

1) bin

(1) 위치 : TOMCAT_HOME/bin

(2) 개요 : 톰캣 실행 및 종료 등 운영에 필요한 실행 파일들이 있는 디렉터리

(3) 주요 파일/디렉터리

   - catalina.sh = 웹 컨테이너를 실행시키기 위한 쉘 파일. 일반적으로는 해당 파일은 수정할 일은 없으나 JAVA_OPTS 등 실행 옵션 값 변경이 필요한 경우 해당 파일에서 수정.

 

   - shutdown.sh = 실행 중인 tomcat 종료를 위한 실행 파일.

    (사용 명령어)

$ TOMCAT_HOME/bin/shutdown.sh

   ※ 톰캣이 실행되어 있지 않으면 오류 로그 발생됨

   ※ TOMCAT_HOME/conf/server.xml 에서 shutdown 포트 활성화가 되어 있어야 해당 실행 파일로 shutdown 가능

 

   - startup.sh = tomcat 실행을 위한 파일.

    (사용 명령어)

$ TOMCAT_HOME/bin/startup.sh

   ※ 쉘 파일에서 중복 체크를 하지 않기 때문에 톰캣이 실행되어 있는 상태에서 해당 파일 실행 금지(bind 오류 발생)

 

   - version.sh = 현재 설치되어 있는 톰캣 버전 확인

    (사용 명령어)

$ TOMCAT_HOME/bin/version.sh

 

※ shell 파일 실행이 안 되는 경우  소유자 권한 확인 -> 실행 권한 확인(x 권한 필요)

2) conf

(1)  위치 : TOMCAT_HOME/conf

(2)  개요 : 

   - 톰캣의 설정 파일들이 위치해 있는 디렉터리

   - 톰캣 서버 설정, 로깅 설정, 다중 어플리케이션 운용 등의 설정 가능

(3)  주요 파일/디렉터리 :

   - server.xml = 웹 서비스/shutdown 포트 설정,  access_log 설정, host 설정, appBase/docBase 설정 등 기본 설정부터 웹서버 connection timeout, max threads, accept count, max connection 등 성능 최적화 설정을 위한 웹 서버 설정 파일

   - web.xml = 에러 페이지, 웰컴 페이지 등 웹페이지 설정값 지정

   - logging.properties = 로깅 파일명, 로깅 파일 위치, 로깅 파일 종류 등에 대한 설정값 지정

   - Catalina/localhost/ = 배포될 웹 어플리케이션에 대한 개별 설정값을 지정할 수 있는 디렉터리

    * 기본 제공되는 파일 = ROOT.xml

    * 웹어플리케이션을 추가로 배포하는 경우 추가되는 웹어플리케이션명.xml 파일을 추가해서 개별 설정 파일 추가

3) logs 

(1) 위치 : TOMCAT_HOME/logs

(2) 개요 :

   - 톰캣 서비스 관련 로그가 쌓이는 디렉터리

   - 데몬 및 서비스 로그는 catalina.out 로그에 쌓이게 되며 접속 기록은 localhost_access_log.txt에 쌓이게 됨.

     (특수한 케이스가 아니라면 운영시에 이 2개 로그만 보시면 됩니다.)

(3) 주요 파일/디렉터리

   - catalina.out : 웹 어플리케이션 로그가 쌓이는 파일

    ※ 별도의 설정이 없으면 catalina.out 이라는 로그에 계속해서 파일이 쌓이기 때문에 나중에 용량 폭탄(?) 사태가 벌어질 수 있음. 미리미리 로그 롤링 작업을 해두어야 함. 아래 가이드 참고! :)

2023.03.30 - [리눅스(Redhat)/시스템 관리] - [Tomcat] 로그 관리 - catalina.out 로그 하루씩 롤링(rolling)하기

   - localhost_access_log.txt : 웹서버 접속 로그가 쌓이는 파일

4) webapps

(1)  위치 : TOMCAT_HOME/webapps

(2) 개요 :

  - 배포된 웹 어플리케이션이 위치하는 디렉터리

  - 다중 웹 어플리케이션 운용을 위해 TOMCAT/HOME/conf/Catalina/localhost/웹어플리케이션명.xml 파일을 추가한 경우 appBase/docBase 위치에 "웹어플리케이션명" 으로 된 war 파일이나 어플리케이션 파일을 배포해두어야 함

  * 기본값은 TOMCAT_HOME/webapps/ROOT/

(3) 주요 파일/디렉터리 : ROOT/,  웹어플리케이션/


위에 언급된 파일 외 파일들은 특수 케이스가 아니라면 시스템 엔지니어가 크게 건드릴 부분이 없는 파일들입니다. 

 

자세한 내용은 추후 포스팅에서 좀 더 상세하게 다루도록 하겠습니다 :)

 

감사합니다


※ 좋아요와 구독은 큰 힘이 됩니다. 감사합니다. 

반응형

댓글