Computer Engineering/Server

Ubuntu에 Spring boot 서비스 등록하기

말하는호구마 2021. 2. 7. 04:28

학교 실습할때 서비스등록은 무조건 해줬던 것 같다.

그만큼 기본이라는 이야기같기도 🤔

그때는 뭔지도 잘 모르고 그냥 하라고 해서 했는데,, 막상 혼자하니 아주 조큼 귀찮다.

하지만 그때로 돌아가도 공부 안할거다^^제성해여 겨슈님..

 

 

이번에는 Ubuntu에 배포된 Spring boot(.jar)에 대한 서비스 등록을 할 것이다.

서비스 등록이란,,, 쉬운 말로 내가 일일이 명령어를 통해 실행시키지 않아도 자기 혼자 알아서 돌아가도록 서비스를 등록하는 것이다. 

 

 

나는 AWS에 배포를 해 놓은 상황이었고 ssh연결을 끊으면 실행이 불가능했다.

ssh연결을 종료하더라도 계속해서 서비스하기 위해 등록과정을 거쳤다.

 

 

일단 .service파일을 만들어야 한다. 

아무데나 만들면 안되고 /etc/systemd/system 디렉토리에 만들어야 한다. 

 

>> cd /etc/systemd/system

 

 

vi를 통해 [서비스이름(server_start)].service 파일을 생성해야한다.

(서비스 이름은 편한대로)

 

>>sudo vi server_start.service

 

 

파일의 내용은 아래와 같다.

[Unit]

Description=server start

After=mysql.service

 

[Service]

ExecStart=/bin/bash -c "exec java -jar [jar 파일 경로]/[jar파일].jar"

 

[Install]

WantedBy=multi-user.target

                           

 

여기서의 중요한점은 jar 파일 경로는 절대 경로여야 한다는 것이다. 

 

 

파일을 저장시키고 아래의 명령어들을 입력하자.

 

>>sudo systemctl daemon-reload

>>sudo systemctl enable [서비스 이름(server_start)].service

>>sudo systemctl start [서비스 이름(server_start)].service

 

 

이러면 끝!!!!!!!

잘 실행되고 있는지 확인하고 싶다면 언제나 그랬듯 status를 조회해보면 된다.

서비스에 대한 여러가지 옵션들이 가능할 것 같다.

 

 

>>sudo systemctl status [서비스이름(server_start)].service

잘 돌아간다면 위와 같은 화면을 볼 수 있을 것이다.