본문 바로가기
IT/OS

[OS/Linux/TOMCAT] Linux CentOS tomcat 셋팅하기 [서비스 설정, p_id]

by 김대우~ 2019. 3. 7.

OS : Linux CentOS 6.9 64비트

JAVA : tomcat 8.0.33



기존에 리눅스에 톰캣이 설치 되었다는 가정하에 진행됩니다. 

설치가 안되신분은 


아래 링크 

리눅스 톰캣 설치






----------------------------------------------------------





기존에 등록한 톰캣의 서비스가 실행되고 있습니다. 

프로세스 조회를 한번 해봤습니다.


ps -ef|grep java


위치가 톰캣 위치이고 p_id가 48747이네요 

p_id는 고정이 아닙니다. 프로세스가 죽고 살때마다 랜덤으로 바뀔것입니다.






----------------------------------------------------------






톰캣을 서비스 등록하기 위해 


/etc/rc.d/init.d 로 이동합니다.


run level 관리자 쉽게 말해 [ 리눅스 서버가 부팅시에 실행할 내용들을 모아놓은 곳입니다. ]

이곳에 톰캣을 등록해놓고 서버가 재시작되었을때 자동으로 톰캣을 기동하기위해 등록합니다.







----------------------------------------------------------





여기에 vi 편집기를 사용하여 스크립트를 등록하려고합니다. 여기에


vi tomcat 을 실행합니다. tomcat이 서비스명입니다.








----------------------------------------------------------


.




처음에는 아무 내용도 없습니다. 


아래내용을 입력하거나 복붙하여 줍니다. 

파란색은 기존에 설치한 톰캣의 위치를 설정합니다. 

빨간색은 해당 권한을 가질 계정을 등록합니다.


#!/bin/bash

# Startup script for the Tomcat Server

# chkconfig: 345 50 50

# description: Tomcat is a Web application server.

# processname: java

# directory : /sw/was/apache-tomcat-8.0.33

source /etc/profile

export CATALINA_HOME=/sw/was/apache-tomcat-8.0.33

case "$1" in

start)

echo "Starting tomcat: "

su - root -c $CATALINA_HOME/bin/startup.sh

;;

stop)

echo "Shutting down tomcat: "

su - root -c $CATALINA_HOME/bin/shutdown.sh

;;

restart)

echo "Restarting tomcat: "

su - root -c $CATALINA_HOME/bin/shutdown.sh;

su - root -c $CATALINA_HOME/bin/startup.sh

;;

*)

echo "Usage: service tomcat {start|stop|restart}"

exit 1

esac

exit 0


저장 후 종료

ESC > : > wq







----------------------------------------------------------





디렉토리 조회를 하여 tomcat 이 생성되었는지 확인합니다.







----------------------------------------------------------






5.# 사용자 계정에게 소유권 변경 ( root 유저라면 안해도됨 )
[root@Linux]# chown 유저:유저 tomcat


해당 tomcat에 대해 실행 권한을 줍니다. 

chmod -R 755 tomcat 


ls 후 색상이 녹색으로 변경되었는지 확인합니다.


//등록

chkconfig --add tomcat

//조회

chkconfig --list tomcat

chkconfig --list

//삭제 

chkconfig --del tomcat







----------------------------------------------------------

...




기존에 톰캣 프로세스가 실행중이라면 강제로 kill 시켜줍니다.

kill -9 p_id


이제 서비스가 등록되었습니다. 


서비스 실행하는 방법  [ 빨간색 글씨가 이전에 생성및 등록한 서비스명입니다 ]

service tomcat start

service tomcat stop

service tomcat restart







----------------------------------------------------------





톰캣 정지시에 가끔 프로세스가 죽지 않는경우도 있습니다. 

이경우 해당 p_id로 프로세스를 중지하도록 설정을 추가해줘야합니다. 


아래 이미지에서는 프로세스가 정지가 되었습니다만 죽지않는 경우도 있습니다.







----------------------------------------------------------





/sw/was/apache-tomcat-8.0.33/bin으로 이동하여 


catalina.sh 스트립트를 vi 편집기로 열어서 


export CATALINA_PID=./catalina.pid


을 입력합니다. 변수에 지정하는 값이기 때문에 띄어쓰기가 들어가면 안됩니다.


저장 후 종료 


ESC > : > wq







----------------------------------------------------------






vi 편집기를 통해 startup.sh 파일도 열어줍니다. 


맨 아래에 있는 
exec "$PRGDIR"/"$EXECUTABLE" stop "$@"  에
exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@"     다음과 같이 파란색 -force를 추가하여줍니다. 

수정 후 저장 

ESC > : > wq







----------------------------------------------------------





서비스가 등록되었지만 


프로세스를 조회를 하여 강제로 tomcat을 종료시킵니다. 


이제부터는 


service tomcat start 

service tomcat stop 

만을 사용하셔도 프로세스가 정상적으로 종료될 것입니다.





댓글