본문 바로가기
SW 프로그래밍/센토스(CenTOS)

tomcat 자동시작하도록... service 등록

by N2info 2020. 9. 18.

CentOS가 재부팅이 되었을 경우에 Tomcat은 자동으로 Start가 되지 않습니다.

그래서 우리가 이걸 Service에 등록하고 자동으로 실행되도록 하여 주어야 합니다.

 

1. 자신의 Tomcat 경로를 알아둡니다.

저는 /usr/local/tomcat/ 이 경로입니다.

 

2. Java의 경로를 알아둡니다.

저는 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el8_0.x86_64 이 경로입니다.

 

3. tomcat.service 파일을 생성하여 줍니다.

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

 

내용은 다음과 같습니다.

[Unit]
Description=Apache Tomcat 9
After=syslog.target network.target

[Service]
Type=forking

Environment="JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el8_0.x86_64"
Environment="CATALINA_HOME=/usr/local/tomcat"

User=root  //필요시 변경할수 있음
Group=root //필요시 변경할수 있음

ExecStart=/bin/sh /usr/local/tomcat/bin/startup.sh
ExecStop=/bin/sh /usr/local/tomcat/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

 

4. Daemon을 재로드 하여 줍니다.

$ systemctl daemon-reload

 

5. 시작 서비스 등록하여 줌

$ systemctl enable /etc/systemd/system/tomcat.service

 

6. 테스트

$ sudo systemctl start tomcat

근데 이 부분에서 Permission 문제가 발생할 수도 있는데요. 해결하여 주어야 합니다.

 

7. 퍼미션 해결. 정상적으로 되면 냅두세요. 저는 이름이 dh라서 그걸로 했습니다.

$ chown root:root /usr/local/tomcat -R

root:root는 자신의 상황으로 변경하세요

 

6번을 다시 실행하여 봅니다.

 

8. 재부팅

$ sync
$ sync
$ sync
$ sudo reboot

 

9. 확인

$ ps -ef | grep tomcat

 

이렇게 하게 되면 두개가 뜨면 정상입니다.

dh         657     1  5 12월22 ?   ...
dh        7985  7053  0 01:08 pts/2    00:00:00 grep --color=auto tomcat

 

아래쪽에 grep 부분 한개만 뜨면 잘 안 동작하고 있는겁니다.