본문 바로가기
Development/Web Develope

[CentOS] 시스템 부팅 시 Tomcat 자동 실행 설정하기

by 버들도령 2020. 4. 14.
728x90

[CentOS] 시스템 부팅 시 Tomcat 자동 실행 설정하기

CentOS - Apache Tomcat

CentOS에 Apache Tomcat을 설치한 이후에 시스템 재구동 시 자동으로 Tomcat이 실행되도록 설정하고 싶으실때 있으시죠?

서비스 서버에서 시스템 장애로 인해서 재구동 되었는데... Tomcat이 자동으로 구동되지 않는다면... 아찔하네요.

이런 불상사를 없애기 위해서 CentOS 서버에서의 Tomcat 자동 실행 설정 방법에 대해서 알아봅니다.

# init 스크립트를 작성하기 위한 폴더로 이동
[root@TBAPRIL|/root]# cd /etc/rc.d/init.d/


# tomcat 자동 실행을 하기 위한 init 실행 스크립트 작성 하기
[root@TBAPRIL|/etc/rc.d/init.d]# vi tomcat8april

#! /bin/bash
# Startup script for the Tomcat Server
# chkconfig: 345 50 50
# description: Tomcat is a Web application server.
# processname: java
# directory : CATALINA_HOME=/usr/local/april_package/apache-tomcat-8.5.8
source /etc/profile
export CATALINA_HOME=/usr/local/april_package/apache-tomcat-8.5.8
case "$1" in
    start)
        echo "Starting tomcat-8.5.8 Spay : "
        su - april -c $CATALINA_HOME/bin/startup.sh
        ;;
    stop)
        echo "Shutting down tomcat-8.5.8 Spay : "
        su - april -c $CATALINA_HOME/bin/shutdown.sh
        ;;
    restart)
        echo "Restarting tomcat-8.5.8 Spay : "
        su - april -c $CATALINA_HOME/bin/shutdown.sh;
        su - april -c $CATALINA_HOME/bin/startup.sh
        ;;
    *)
        echo "Usage: service tomcat8april {start|stop|restart}"
        exit 1
esac
exit 0


# 실행 스크립트에 대한 소유권을 부여하기
[root@TBAPRIL|/etc/rc.d/init.d]# chown -R april.april tomcat8april 


# 실행 스크립트에 대한 실행권한 부여하기
[root@TBAPRIL|/etc/rc.d/init.d]# chmod 755 tomcat8april 


# 실행 스크립트가 기존에 등록된 서비스가 있는지 조회
[root@TBAPRIL|/root]# chkconfig --list tomcat8april
tomcat8april 서비스의 정보를 읽는 도중 오류가 발생했습니다: 그런 파일이나 디렉터리가 없습니다


# 실행 스크립트에 대한 서비스 신규 등록 (runlevel 등록)
[root@TBAPRIL|/etc/rc.d/init.d]# chkconfig --add tomcat8april 


# 실행 스크립트에 대한 서비스 신규 등록한 목록이 존재하는지 조회 (runlevel별 활성화 여부)
[root@TBAPRIL|/etc/rc.d/init.d]# chkconfig --list tomcat8april 
tomcat8april     0:해제  1:해제  2:해제  3:활성  4:활성  5:활성  6:해제


# 등록한 실행 스크립트를 이용하여 tomcat8april을 재시작
[root@TBAPRIL|/etc/rc.d/init.d]# service tomcat8april restart
Restarting tomcat-8.5.8 Spay : 
Using CATALINA_BASE:   /usr/local/april_package/apache-tomcat-8.5.8
Using CATALINA_HOME:   /usr/local/april_package/apache-tomcat-8.5.8
Using CATALINA_TMPDIR: /usr/local/april_package/apache-tomcat-8.5.8/temp
Using JRE_HOME:        /usr/local/jdk1.7.0_79
Using CLASSPATH:       /usr/local/april_package/apache-tomcat-8.5.8/bin/bootstrap.jar:/usr/local/april_package/apache-tomcat-8.5.8/bin/tomcat-juli.jar

Using CATALINA_BASE:   /usr/local/april_package/apache-tomcat-8.5.8
Using CATALINA_HOME:   /usr/local/april_package/apache-tomcat-8.5.8
Using CATALINA_TMPDIR: /usr/local/april_package/apache-tomcat-8.5.8/temp
Using JRE_HOME:        /usr/local/jdk1.7.0_79
Using CLASSPATH:       /usr/local/april_package/apache-tomcat-8.5.8/bin/bootstrap.jar:/usr/local/april_package/apache-tomcat-8.5.8/bin/tomcat-juli.jar
Tomcat started.


# 위에서 재구동한 tomcat의 프로세스가 정상적으로 잘 구동되었는지 확인
[root@TBAPRIL|/etc/rc.d/init.d]# ps -ef|grep tomcat인april     2625  2602  0 02:21 pts/4    00:00:00 tail -f /home/LOG/april/tomcat_log/logs/catalina.out
april     2736     1 27 02:23 ?        00:00:27 /usr/local/jdk1.7.0_79/bin/java -Djava.util.logging.config.file=/usr/local/april_package/apache-tomcat-8.5.8/conf/logging.properties ... org.apache.catalina.startup.Bootstrap start
root      2776  2535  4 02:24 pts/3    00:00:00 grep tomcat


# tomcat 프로세스를 중지
[root@TBAPRIL|/etc/rc.d/init.d]# service tomcat8april stop
Shutting down tomcat-8.5.8 Spay : 
Using CATALINA_BASE:   /usr/local/april_package/apache-tomcat-8.5.8
Using CATALINA_HOME:   /usr/local/april_package/apache-tomcat-8.5.8
Using CATALINA_TMPDIR: /usr/local/april_package/apache-tomcat-8.5.8/temp
Using JRE_HOME:        /usr/local/jdk1.7.0_79
Using CLASSPATH:       /usr/local/april_package/apache-tomcat-8.5.8/bin/bootstrap.jar:/usr/local/april_package/apache-tomcat-8.5.8/bin/tomcat-juli.jar

  

 

위에서 언급한 내용중에 chkconfig 를 통해 확인한 정보중에서 Runlevel에 대한 내용은 다음과 같습니다.

Runlevel Description
Runlevel 0 halt (Do NOT set initdefault to this) (시스템 종료)
Runlevel 1 Single user mode (시스템 복원모드나 파일시스템 점검시 사용)
Runlevel 2 Multiuser, without NFS (The same as 3, if you do not have networking)
(네트워크를 지원하지 않는 다중모드)
Runlevel 3 Full multiuser mode (text based) (다중 사용자 모드)
Runlevel 4 unused (사용하지 않음)
Runlevel 5 Multi user mode with Graphical User Interface. X11 (GUI 환경)
Runlevel 6 Reboot System (Do NOT set initdefault to this) (시스템 재시작)

 

728x90

댓글