일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바 28278
- 1764 자바
- 코딩테스트
- 그리디
- 2346 풍선 터뜨리기
- 자바 10866
- 2164 자바
- 데보션영 3기
- 자바
- 자바 2164
- 2798 자바
- 파이썬
- dfs
- 백준 28278 자바
- 백준
- 2748 자바
- 1010 자바
- 28278 스택 2
- 자바 1003
- 티움투어
- 자바 2346
- 10807 자바
- 백준 10866 자바
- 백준 1764 자바
- 10813 자바
- BFS
- IAM 사용자
- 10810 자바
- 백준 2346 자바
- IAM Identity Center
- Today
- Total
자두의 데브로그
[프로젝트] EC2에 Spring Boot 프로젝트 배포하기 (2) 서버 실행시키기 본문
1. 빌드 파일 생성
$ ./gradlew build
실패 ...!!!
원인이 DB 연결 오류로 보여서 RDS 생성하고 연결해주었다.
그러나 ...
Test 실행한다면서 76%에서 멈춰서 안돌아감..! AWS 콘솔 확인해보니까 CPU 99%까지 찍었는데도 안되는 거였음..! 보통 이러면 메모리를 늘려주는데 아래와 같은 과정을 거치면 된다.
메모리 사용량 확인하기
$ free
스왑 파일 생성하기
$ sudo dd if=/dev/zero of=/swapfile bs=128M count
스왑 파일 권한 설정하기
$ sudo chmod 600 /swapfile
Linux 스왑 영역 설정하기
$ sudo mkswap /swapfile
스왑 공간에 스왑 파일 추가하여 즉시 파일 사용 가능하게 설정하기
$ sudo swapon /swapfile
프로시저가 성공적인지 확인하기
$ sudo swapon -s
/etc/fstab 파일을 편집하여 부팅 시 스왑 파일 시작하게 만들기
$ sudo vi /etc/fstab
연 파일 내 가장 마지막 줄에 아래 명령어 추가하고 저장
/swapfile swap swap defaults 0 0
https://repost.aws/ko/knowledge-center/ec2-memory-swap-file
스왑 파일을 사용하여 Amazon EC2 인스턴스에서 메모리를 스왑 스페이스로 할당합니다.
Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 스왑 파일로 사용할 메모리를 할당하고 싶습니다. 어떻게 해야 하나요?
repost.aws
이거 하고 나서 다시 free 명령어로 메모리 사용량 확인해보면 swap 메모리가 추가된 것을 볼 수 있다.
2. 생성된 build/libs/ ~.jar 파일 확인
$ ls
[플젝명]-0.0.1-SNAPSHOT-plain.jar [플젝명]-0.0.1-SNAPSHOT.jar
3. 백그라운드에서 jar 파일 실행하기
$ nohup java -jar [플젝명]-0.0.1-SNAPSHOT.jar &
4. control+c 를 통해 터미널로 나가서 현재 실행되고 있는 프로세스 및 생성된 로그 파일 확인 (build/libs/nohup.out)
실행되고 있는 프로세스 확인
$ jobs
[1]+ Running nohup java -jar [플젝명]-0.0.1-SNAPSHOT.jar &
생성된 로그 파일 확인
$ cat nohup.out
5. 백그라운드에서 실행되고 있는 프로젝트 종료하기
- 인덱스: jobs 명령어를 통해 확인된 번호
$ fg %인덱스
후 control+c 하면 종료된다.
* 까먹고 8080 포트 쓰고 있던 프로젝트 종료하지 않고 바로 재실행해버렸다면..?
8080 이미 사용되고 있다는 오류를 내뱉음. 그러나 당황하지 않고 현재 8080 포트를 사용하고 있는 프로세스를 확인하는 명령어를 친다.
$ lsof -i :8080
$ kill [PID]
프로젝트를 실행하고 나서 시간이 좀 경과하면 jobs 명령어로도 실행되고 있는 프로젝트 목록이 나오지 않아서 위 명령어를 통해 8080 포트가 사용되고 있다면 kill로 해당 프로세스를 종료한다.
'프로젝트 > springboot' 카테고리의 다른 글
[프로젝트] Long type으로 선언한 id에 값 더하기 (0) | 2024.11.05 |
---|---|
[프로젝트] nohup.out 초기화 (0) | 2024.08.22 |
[프로젝트] POST 요청이 forbidden이라면...? (0) | 2024.08.22 |
[프로젝트] EC2에 Spring Boot 프로젝트 배포하기 (1) 기본 세팅하기 (0) | 2024.08.06 |