Spring Boot 프로젝트 무중단배포 하기(feat. running on background)

개발자·2022년 9월 6일
0

1. 실행

nohup - 세션이 끊겨도 프로그램을 종료하지 않을 때 사용하는 리눅스 명령어 (no hang up)
& - 백그라운드에서 실행하라는 커맨드

저 2개가 조합되어 스프링부트가 백그라운드에서 실행된다.

nohup java -jar ec2-test-0.0.1-SNAPSHOT.jar &

&말고도 dev save 뭐 이런 것들도 있지만 필요할 때 구글링 해봅시다.(핑프 아니시져?)

2. 확인

6449 pid로 실행되고 있다.

ps -ef | grep .jar

3. 프로세스 종료

실행중인 프로세스를 특정할때는 파일명(스프링부트 프로젝트명 - 버전번호 - SNAPSHOT.jar) 사용한다.

CURRENT_PID=$(pgrep -f ec2-test-0.0.1-SNAPSHOT.jar)

echo "$CURRENT_PID"

sudo kill 6499


이외 혹시나 깜빡할까봐 메모 해놓는 것들 :
maven 프로젝트는 package, gradle 프로젝트는 build로 jar 생성
maven 배포시, chmod u+x mvnw로 환경변수 설정.
패키징은 ./mvnw package
mac os에서 PID 확인은 lsof -i :{PORT}, 포트 죽이기는 kill -9 {PID}
windows는 잘 안써봐서 모르겠지만, 내 기억으론 netstat -n 이런거였던 것 같음.
DB는 NCP보다 AWS가 저렴하니까 AWS RDS 씁시다.

profile
I DEVELOP THEREFORE, I AM 😄

0개의 댓글