suyeoniii
수바리의 코딩일기
suyeoniii
전체 방문자
오늘
어제
  • 분류 전체보기
    • 🪓 삽질일기
    • 🔙 Backend
      • 🟢 Node.js
      • 🐈‍⬛ NestJS
      • 🌿 Springboot
      • 🗄️ Database
    • 🌸 Frontend
      • 🌐 React.js
      • 💚 Vue.js
      • 🤖 Android
    • 🕹️ 알고리즘
      • 💯 코딩테스트
    • 🔠 프로그래밍 언어
      • 💛 Javascript
      • 💙 Typescript
    • 🚀 배포
    • 🐱 Git
    • etc.
      • 개발환경
      • 오픈 API
      • 개념정리
      • 커뮤니티
    • AI
      • 생성형 AI
    • 회고

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • ec2
  • Spring Boot
  • html
  • 백준
  • node
  • C++
  • java
  • nodejs
  • MySQL
  • springboot
  • AWS
  • 회고
  • ubuntu
  • 알고리즘
  • javascript
  • vue
  • android
  • node.js
  • Git
  • MAC

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
suyeoniii

수바리의 코딩일기

[SpringBoot][AWS EC2] nohup을 이용하여 무중단 서비스 만들기
🔙 Backend/🌿 Springboot

[SpringBoot][AWS EC2] nohup을 이용하여 무중단 서비스 만들기

2021. 5. 14. 17:33
반응형

빌드


먼저 Git을 통해 받은 프로젝트 폴더로 이동하여, build를 진행한다.

./gradlew build

빌드 완료

build가 완료되었다

 

 

실행


java -jar build/libs/demo-0.0.1-SNAPSHOT.jar 

실행 완료

정상적으로 잘 실행되었다.

하지만 이상태에서 터미널을 종료하면 실행중인 java도 같이 종료되어 버린다!

 

무중단 서비스를 위해 nohup을 이용하여 백그라운드에서 실행시키자

 

 

nohup


nohup java -jar build/libs/demo-0.0.1-SNAPSHOT.jar & > /dev/null

 

아까 실행시킬 때 수행했던 명령어 앞에 nohup을 붙이고, 뒤에 &을 붙이면 백그라운드에서 실행이 되어, 터미널을 종료해도 EC2상에서는 계속 돌아간다, 뒤에 > /dev/null은 log를 저장하지 않겠다는 뜻이고, 설정하지 않으면 nohup.out으로 저장되는 것으로 알고있다

 

 

nohup

nohup으로 실행시켜보았다, 출력되는 값은 PID 인 듯 하다

 

API 테스트를 해보니 잘 동작하는 것이 확인된다.

 

 

프로세스 종료


이제 nohup으로 백그라운드에서 실행중인 프로세스를 종료시켜보자!

 

1. PID를 알고있다면

sudo kill -9 {PID}

명령어를 이용하여 프로세스를 중단시키면 되고,

 

2. PID를 잊어버렸다면

ps -ef | grep {실행시켰던 파일이름}

 

에서 grep 뒤엔, 아까 실행시켰던 파일의 일부를 입력하여 찾거나 

예) ps -ef | grep demo-0.0.1-SNAPSHOT.jar

파일이름으로 실행중인 프로세스 찾은 결과

-> PID는 1676

 

ps

실행시켰던 폴더에서 process목록을 출력하여 java에 해당하는 PID를 찾아서 중단시키면 된다.

위쪽은 ps결과, 아래쪽은 java 프로세스 중단시킨 결과

java에 해당하는 PID는 1676인 것을 확인하고, kill명령어로 중단시켰다.

반응형
저작자표시 (새창열림)

'🔙 Backend > 🌿 Springboot' 카테고리의 다른 글

[Spring Boot] 오류: Cannot construct instance of (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)  (1) 2022.04.05
[JUnit] assertThat deprecated  (0) 2021.09.12
[Spring Boot] 카카오 로그인 API 구현 (2) - Access token으로 사용자 정보 가져오기  (1) 2021.08.15
[Spring Boot] 카카오 로그인 API 구현 (1) - Access token 발급받기  (3) 2021.08.15
[Springboot][EC2] 로컬에서 빌드하고 빌드파일만 업로드하기  (0) 2021.07.05
    '🔙 Backend/🌿 Springboot' 카테고리의 다른 글
    • [JUnit] assertThat deprecated
    • [Spring Boot] 카카오 로그인 API 구현 (2) - Access token으로 사용자 정보 가져오기
    • [Spring Boot] 카카오 로그인 API 구현 (1) - Access token 발급받기
    • [Springboot][EC2] 로컬에서 빌드하고 빌드파일만 업로드하기
    suyeoniii
    suyeoniii
    개발관련 문제 해결, 공부한 내용 등을 업로드합니다.

    티스토리툴바