SpringBoot jar 파일을 배포할때 서비스 등록하는 방법! 

 

SpringBoot  jar파일을 배포했는데 콘솔창에서 나오면 서비스가 종료되어버린다. 

 

이런 불편한 상황을 대처하기 위한 방법으로 nohup 명령어를 사용하곤하는데 

 

매번 process를 kill하고 재실행해야하는 불편함이 있었다. 

 

서비스로 등록하면 아파치를 껐다 켜듯이 systemctl 명령어를 이용해서 사용할 수 있는데 방법을 정리해본다. 

 

( 사용한 환경은 Centos7 환경임) 

 

 

 

1. systemctl 명령어가 가진 서비스가 있는 경로로 이동한다. 

cd /usr/lib/systemd/system 


2. 파일을 하나 만들어준다. (파일명은 내가 실행할 명령어 이름이랑 같이해주면 좋다.) 

vi mytest.service 

 

3. 아래 내용을 작성해준다. 

[Unit]
Description=mytest
After=syslog.target network.target

[Service]
ExecStart=/usr/bin/java -jar -Dspring.profiles.active=dev /home/genie/mytest.jar

User=genie
Group=genie

[Install]
WantedBy=multi-user.target

 

이게 설정 끝이다. 

 

간단하게 설명하자면 

mytest는 내가 지정한 이름이고 


ExecStart 는 내가 실행하려는 서비스를 작성하면된다. 

중간에 있는 -Dspring.profiles.active=dev 건 필요없으면 지워도 된다. 

 

 

이제 jar 파일을 실행하고 끌때 아래처럼 사용하면된다. 

systemctl start mytest -- 시작
systemctl stop mytest -- 중지 

 

훨씬 편해졌다.. !!! 

 

 

끝! 

+ Recent posts