운영체제

[Linux] CentOS 7 에서 Tomcat 서비스 등록하기

헹창 2020. 7. 13.
반응형

[Linux] CentOS 7 에서 Tomcat 서비스 등록하기 

 

서비스란,

윈도우에서도 볼 수 있는데, 현재 구동중인 서비스 목록 확인 및 서비스 관리(수동 시작, 중지 등)를 할 수 있다.

 

리눅스에서도 서버가 실행되면 어떤 서비스가 자동으로 실행되도록 설정할 수 있다.

 

왜 서비스를 자동으로 실행시키려고 하는 것일까?

 

24시간 돌아가야하는 웹 서비스가 예상치 못한 이유로 서버가 다운되었을 때

서버 관리자가 root 계저으로 접속해 톰캣을 실행시켜야하는데 root 계정은 일반적으로 원격 접속이 허용되지 않기 때문에 서버 컴퓨터 앞에서 로그인을 해야한다.

 

 

하지만 톰캣을 서비스로 등록해놓으면, 서버를 실행했을 때 자동으로 톰캣이 돌아가는 이점이 있다.

 

 

 

윈도우 서비스 등록하는 방법을 안다면 조금 더 수월하게 따라올 수 있을 것이다.

 

[Windows] 윈도우 서비스(Windows service)란 ?

[IT] 윈도우 서비스(Windows service)란 ? 위키백과에서 윈도우 서비스(Windows service)에 대해 아래와 같이 정의했다. 윈도우 서비스(Windows service)는 오랜 시간 동안 실행되며 특정한 기능을 수행하는..

haenny.tistory.com

 

 

 

1. /etc/systemd/system/ 디렉토리에 tomcat.service 파일을 생성

 

$ cd /etc/systemd/system
$ vi /etc/systemd/system/tomcat.service

 

- 서비스들은 서비스이름.service 파일명을 가지며, systemctl 명령어로 제어할 수 있다.

 

 

 

 

2. 서비스 내용을 입력 한 후 저장

 

[Unit]
Description=tomcat 9
After=network.target syslog.target

[Service] 
Type=forking
Environment="톰캣 경로"
User=root
Group=root
ExecStart=톰캣 경로/bin/startup.sh
ExecStop=톰캣 경로/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

 

 

※ 만약 톰캣에 JAVA_HOME 설정이 되어있지 않은 경우는 Environment 설정을 아래와 같이 해보아라.

 

Environment="JAVA_HOME = 자바 경로"
Environment="CATALINA_HOME = 톰캣 경로"

 

- 나같은 경우는 이미 톰캣에 자바 설정이 되어있으므로 따로 설정하지 않았다. (설정하면 오히려 서비스 구동이 되지 않았다.)

 

톰캣의 자바 설정 확인을 하고 싶다면 "톰캣 경로/bin"에서 setclasspath.sh 파일을 열어 JAVA_HOME 설정이 되어있는지 확인해보아라 !!

 

 

 

3. 시스템 시작시 자동으로 시작 할 수 있도록 서비스를 등록

 

$ systemctl enable tomcat.service

 

 

 

 

systemctl 명령어를 통해 수동으로 톰캣 서비스를 실행 및 중지, 활성화 및 비활성화 시킬 수 있다

 

$ systemctl start tomcat.service	//실행
$ systemctl stop tomcat.service		//종료
$ systemctl enable tomcat.service	//활성화
$ systemctl disable tomcat.service	//비활성화

 

- 시스템 상태 확인 시 정상적으로 돌아가는 경우

 

$ systemctl status tomcat.service	// 시스템 상태 확인

 

 

 

 

728x90
반응형

댓글

추천 글