일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- SW봉사
- 시나공
- BFS
- 정보처리산업기사
- 알고리즘
- 백준 알고리즘
- CJ UNIT
- 문제풀이
- MYSQL
- 백준알고리즘
- softeer
- 소프티어
- python
- 프로그래머스
- 자바
- java
- 코딩교육봉사
- 데이터베이스
- 파이썬
- 백준
- 공부일지
- SQL
- kotlin
- programmers
- 코틀린
- 회고
- 스프링
- 코딩봉사
- 1과목
- C++
- Today
- Total
JIE0025
[AWS] EC2 무중단 배포 (linux - nohup) 본문
✅ 개요
처음 AWS를 사용하는 사람들은
스프링부트를 EC2에서 실행했을때
1) 접속한 콘솔이 꺼지거나
2) 접속을 잠깐이라도 안하면
실행시켜놓은 Spring boot서버가 꺼지는 경험을 했을것이다.
나도 처음에 배포에서 이런 경험을 반복해서 했었고
이를 어떻게 해결해야하는지 몰랐었는데... ㅠㅠ
사실 아주 간단한 방법으로 해결할 수 있었다!
✅ EC2 무중단 배포
이전에 EC2에서 스프링부트 서버를 실행 하는 글을 작성했었다.
https://jie0025.tistory.com/552
이 과정에서
실행 명령어 앞에 nohup을 사용하면 무중단 배포를 할 수 있다!
$ nohup java -jar 프로젝트.jar &
✅ nohup?
nohup 명령어
터미널로 접속하고, 명령어를 실행한 후에 해당 터미널을 종료해도,
계속 명령어를 실행하도록 유지하고 싶을 때 사용하는 명령어이다.
맨 뒤에 & 는 백그라운드로 명령어를 실행하라는 것을 의미한다.
⏺ nohup.out
nohup으로 명령어를 실행하면, 로그가 nohup.out으로 리다이렉트 되는데
jar파일을 실행시킨 , jar파일이 위치한 곳에 nohup.out이 생긴다.
실행시킨 jar파일이 잘 실행되고 있는지 확인하려면
cat nohup.out으로 로그를 확인해봐도 된다!
✅ 백그라운드 실행 확인
😃 ps -ef 명령어
ps -ef
실행중인 프로세스의 상태를 볼 수 있다.
아래 pid와 함께 실행중인 프로세스로 jar파일이 보인다.
(pid는 라이언캐릭터 위치에 있다!!)
😵 서버 종료
백그라운드로 동작하는 jar파일 의 pid를 기반으로 종료시킬 수 있다.
kill -9 {pid번호}
references
https://blog.acronym.co.kr/555
https://www.ibm.com/docs/ko/i/7.3?topic=jobs-ps
'인프라 > WEB, WAS, 배포' 카테고리의 다른 글
[미들웨어] WAS와 웹서버의 차이는 무엇일까? (0) | 2024.12.04 |
---|---|
[원티드] 8월 백엔드 챌린지 - Docker (0) | 2023.07.19 |
[AWS] 웹 프론트, S3 저장소를 통해 배포하자 (0) | 2023.06.21 |
우분투 시스템 환경변수 설정과 applicaiton.yml에서 해당 값 사용 (0) | 2023.06.20 |
EC2 인스턴스에 git clone(with ssh)후, 서버 실행 (0) | 2023.06.19 |