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 부분 한개만 뜨면 잘 안 동작하고 있는겁니다.