[DevOps] On-premise 환경에서 Tomcat 배포

윤성철·2024년 6월 7일

DevOps

목록 보기
3/6
post-thumbnail

사내에서 개발중인 솔루션 백엔드 서버를 On-premise 환경에서 서버를 배포한 내용을 정리하고자 한다. 😄

참고로, WEB Server 구성은 Nginx로 proxy 설정 ➡️ WAS 서버로 요청이 들어온다.

1. 톰캣, JDK 설치 경로 (tomcat, jdk binary 파일을 받아서 수동으로 설치하였습니다.)🙌

  • tomcat, jdk : /apps
    
    tar -xvzf apache-tomcat.9.xx.xxx-gz
    mv /apps/apache-tomcat.9.xx.xxx tomcat9

2. JDK, Tomcat 환경변수 설정

### JDK ENV ###
export JAVA_HOME="/apps/jdk8"
export PATH="$JAVA_HOME/bin:$PATH"

### Tomcat ENV ###
export TOMCAT_HOME="/apps/tomcat9"
export PATH="$TOMCAT_HOME/bin:$PATH"

🙆‍ 운영상의 편의와 체계화된 로그 관리를 위해 log파일이 저장되는 PATH 수정!

  • 로그 생성 위치 ➡️ /logs

    • catalina.out, localhost_access.log ...

    로그는 계속 쌓이고 서버 용량을 차지하기때문에 daily로 압축하는 설정을 추가하였습니다.

  • /etc/logrotate.d에서 저장되는 방식 등 로그 운용 사항 수정 및 적용 https://soonh.tistory.com/33 참고

    • /etc/logrotate.conf에 #include /etc/logrotate.d 추가

    • tomcat_logrotate 파일 생성📁

      /logs/catalina.out {
          copytruncate
          daily
          rotate 90
          compress
          missingok
          notifempty
          dateext
      }
      logrotate -f /etc/logrorate.d/tomcat_logrotate

logroate 명령어 실행 ➡️ 당일 날짜 로그파일에 한해 압축

3. Tomcat 데몬 서비스 등록

- https://haenny.tistory.com/141 참고
    - /etc/systemd/system 하위에 tomcat.service 파일 생성
# catalina.sh 상단에 JAVA_HOME 등록
# JAVA_HOME="/app/jdk11" 

# /usr/lib/systemd/system/tomcat.service 파일 생성 후 아래의 내용 작성
[Unit]
Description=Tomcat Service
After=network.target syslog.target

[Service]
Type=forking
User=root
Group=root
ExecStart=/apps/tomcat9/bin/startup.sh
ExecStop=/apps/tomcat9/bin/shutdown.sh

[Install]
WantedBy=multi-user.target
systemctl start tomcat.service
systemctl status tomcat.service

🥇성공적으로 데몬 등록이 완료되어 실행 파일을 찾지 않고 systemctl 명령어를 통해 tomcat을 실행할 수 있습니다!

profile
내 기억보단 내가 작성한 기록을 보자..

1개의 댓글

comment-user-thumbnail
2024년 6월 10일

솔루션사업부의 핵심인력 G.O.A.T....ㄷㄷ

답글 달기