목차

시스템 부팅시 자동 시작 스크립트

CentOS6

파일 경로
/etc/rc.d/init.d/tomcat

파일 내용

#
# tomcat Start/Stop Script for the Tomcat Server
#
# chkconfig: 2345 91 14
# description: start/stop script for tomcat server

# source function library
. /etc/rc.d/init.d/functions

export LANG=ko_KR.euckr
export JAVA_HOME=/data/apps/search/java
export TOMCAT_HOME=/data/apps/search/tomcat
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/glibc-2.14
export CLASSPATH="."

PRGDIR="$TOMCAT_HOME/bin"

# Check that target executable exists
if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then
echo "Cannot find $PRGDIR/$EXECUTABLE"
echo "This file is needed to run this program"
exit 1
fi

case "$1" in
start)
echo -n "Starting Tomcat service: "
daemon --user search "$PRGDIR"/startup.sh
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
;;
stop)
echo -n "Shutting down Tomcat service: "
daemon --user search "$PRGDIR"/shutdown.sh
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
echo
exit 0
##################################################
다음과 같이 운영 user을 지정할 수 있음
daemon –user search “$PRGDIR”/startup.sh
iptable을 활용하여 8080을 80포트로도 서비스 할 수 있음
iptables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-port 8080


등록 및 사용 방법

[root@dev ~] chkconfig --add tomcat
[root@dev ~] service tomcat start
[root@dev ~] service tomcat stop

CentOS7

시스템 부팅시 자동 시작 스크립트 (할당된 사용자 김토피아. 마감일 2020-02-26) 파일 경로
/usr/lib/systemd/system/tomcat7.service

파일 내용

[Unit]

Description=tomcat7
After=network.target syslog.target


[Service]

Type=forking

#tomcat이 독립적이면 root, 아파치연동 되어있으면 search
User=root
Group=root


ExecStart=/opt/search/tomcat7/bin/catalina.sh start
ExecStop=/opt/search/tomcat7/bin/catalina.sh stop

#Umask, RestartSec와 Restart를 쓰면 10초에 한번씩 수동으로 죽이든 오류로 죽든 무조건 프로세스를 살리게 된다. (주의)
Umask=0022
ReStartSec=10
Restart=always

[Install]

WantedBy=multi-user.target


등록 및 사용 방법

[root@dev ~] systemctl enable /usr/lib/systemd/system/tomcat7.service
# tomcat7.service 또는 tomcat7 입력 가능
[root@dev ~] systemctl start tomcat7.service #시작
[root@dev ~] systemctl start tomcat7.service #정지
[root@dev ~] systemctl status tomcat7.service #상태정보


수정 tomccat7.service 내용이 변경 되면 그냥 시작 되지 않는다.

[root@dev ~] systemctl daemon-reload
#기타 서비스 구동 정보 로그
[root@dev ~] journalctl -xe 
[root@dev ~] journalctl -f #tail 처럼 볼 수 있음

Windows

서비스 등록

Ref

CentOS7 service(systemd unit) 등록 관련 사용법 및 설명