Categories: 개발

[SpringBoot] Jar 파일 생성 및 서버 배포

Intellij 와 Gradle 을 기준으로 하였습니다.

Jar 파일 추출하기

인텔리제이 오른쪽 툴바를 보면 Gradle 메뉴가 있습니다.
Gradle 을 열어보면 여러가지가 나옵니다.

펼쳐서 보면 Tasks > build > bootJar 가 있습니다.
bootJar 를 더블클릭해줍니다.

build > libs > 프로젝트명-버전-SNAPSHOT.jar 가 생성됩니다.
이 파일을 갖고 이제 서버에서 기동시키면 됩니다.

Jar 파일 서버로 이동

Jar 파일을 서버에 기동시키려면 당연히 서버로 Jar 파일을 옮겨야 합니다.
여러가지 방법이 있지만 제일 간단하게는 파일질라(FileZila) 같은 SFTP 툴을 사용하는 것 입니다.
저는 파일질라을 사용하였습니다.
서버에 로그인을 해주고 jar를 이동시킬 디렉토리로 이동해줍니다.

원하는 파일을 마우스로 옮기기만 하면 옮겨집니다.(엄청 편하죠?)

JDK 설치

이제 서버를 기동해볼 차례입니다.
일단 Jar 파일을 실행시키려면 서버에 Java 가 설치되어있어야 합니다.
(저는 jdk 17이 필요하기 때문에 17로 설치하였습니다.)
우분투 기준 명령어 입니다.

sudo apt-get install openjdk-17-jdk

설치가 완료된 후 java -version 을 해봤을때 버전이 잘 나온다면 잘 설치된 것입니다.

Jar 실행

이제 Jar 파일을 실행시켜서 서버를 기동해볼 시간입니다.

nohup java -jar 파일명.jar &

nohup 은 백그라운드에서 서버가 계속 실행될수 있게 하는 명령어 입니다.

실행이 잘 되었다면 숫자하나가 찍힙니다.
이것은 PID 입니다.

프로세스 확인 및 킬

잘 기동되고 있는지 확인해봅시다.

ps -ef | grep 파일명.jar

해당 명령을 해보면 실행될때 나왔던 PID 가 그대로 나오는걸 확인할 수 있습니다.
잘 기동되고 있네요.
그렇담 포트 확인도 해볼까요?

netstat -an | grep 해당포트

저의 jar 는 15001 포트를 사용하도록 하였기 때문에 15001 로 서버가 올라간걸 확인할 수 있습니다.
잘 작동되고 있네요.
그렇담 이걸 종료하고 싶으면 어떻게 해야할까요?

kill -9 해당PID

kill 이 잘 되고 15001 포트를 확인해보면 잡히질 않는게 확인됩니다.
잘 종료가 되었다는 뜻 입니다.

이렇게 직접 다 jar를 옮기고 실행시켜봤지만
나중에 이걸 다 자동으로도 되도록도 설정해보겠습니다.

mana

Recent Posts

[여행] 1박 2일 경주 뚜벅이 여행기

경주시티투어 이번 여행에 앞서 뚜벅이 여행객들에게 추천하는게 바로 경주시티투어 이다. 경주시티투어 사이트로이동 경주시티투어는 여러가지가 있다.1.…

8개월 ago

[공공데이터] 공공 API 사용하기 – 지하철 실시간 도착 정보

열린데이터 광장 공공데이터 사이트로 이동 서울 열린데이터 광장에서는 서울에 관한 여러가지 공공 API 를 제공한다.그…

8개월 ago

[Vue] Props 와 Emit – 부모 함수 사용하기

Props props 는 쉽게 생각해서 부모가 자식에게 주는 데이터이다.먼저 부모에게 물려받을 데이터를 자식 컴포넌트에 정의한다.…

8개월 ago

이자 계산기

이번에는 이자 계산기 사이트를 만들어봤습니다. 이자 계산기 바로가기 vue로 하다보니 금액이나 이자율 같은 input 태그의…

8개월 ago

[SpringBoot+Nginx+vite]유틸 사이트를 만들어봤습니다.feat.핫딜 모음

유틸 사이트로 이동 웹사이트 개설 나의 블로그의 접속자 수는 처참하지만 내가 블로그를 시작하면서생각했던 계획은 내…

9개월 ago

[GitHub] Actions로 서버에 자동배포하기

과정 시작하기에 앞서 과정부터 설명해드리겠습니다.master branch에 push 가 되면 GitHub Actions 에서소스를 build 를 하고…

9개월 ago