본문 바로가기
Linux

리눅스 톰캣 자동재시작 , 그리고 java , class 권한 문제

by Gyona 2024. 1. 26.

톰캣자동시작 할수 있는 방법

 

가끔 서버를 껐다가 켤때 프로그램을 재시작하기 어려우니 자동으로 재시작할수 있도록 설정해두면 편리하다.

 

먼저 톰캣의 startup.sh 실행권한을 줘야한다.

- chmod +x /usr/local/server/tomcat/bin/startup.sh ( 경로는 다를수있다.)

 

 

Cd /usr/lib/systemd/system

Vi tomcat.service ( vi로 파일을 바로 만들수있다.)

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

[Service]
Type=simple
User=tomcat
Group=tomcat
ExecStart=/usr/local/server/tomcat/bin/startup.sh
ExecStop=/usr/local/server/tomcat/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

 

systemctl daemon-reload

systemctl enable /usr/lib/systemd/system/tomcat.service

systemctl start tomcat

 

끝. 간단하다. 이때 User과 Group은 tomcat으로 설정한다............이때 문제가 발생한것인지... 웹페이지에 일부페이지가 열리지 않았다........... 심지어 원격으로 작업중이었는데 안됐고 리눅스개발환경에는 정상 작용되었다.

결국 삽질 5시간째... 성공했다.

 

 

/usr/local/server/tomcat/logs 에서 locaslhost.2024-01-26.log 라는 파일이있었다.catalina.out이랑 catalina.2024-01-26.log만 보다가 저기를 보니까.. 이상한 경로와 함께 허가거부가 되어있었다.

/usr/local/server/tomcat/work/Catalina/localhost/ROOT/org/apache/jsp/WEB_002dINF/jsp/egovframework/im/contract/

위치도 장황하다...^^

 

예측한건데 저기는 컴퓨터가 읽는 자바파일이고 tomcat이 권한으로 되어있어야하는데 root로 되어있었던거 같다.

 

sudo chown -R tomcat:tomcat /usr/local/server/tomcat/work/Catalina/localhost/ROOT/org/apache/jsp/WEB_002dINF/jsp/egovframework/im/contract/



이렇게 문제를 해결했다........ 글은 너무 단순하지만 정말 힘들었다..