첫번째로 인텔리제이에서 Gradle에서 build에 bootJar로 빌드를 하게 되면 왼쪽에 build/libs 디렉토리안에 .SNAPSHOT.jar 파일이 생성된다.
이 jar 파일 안에는 톰캣이 내장되어 있어서 AWS ec2 인스턴스에 이 jar 파일을 넣어주면 배포가 완료된다.
여러 방법이 있지만 그 중에서도 FTP 프로토콜을 사용해서 파일을 쉽게 전송할 수 있는 FileZilla를 사용해서 배포를 진행했다.
SFTP 프로토콜을 선택하고 호스트에 EC2 인스턴스의 퍼블릭 IPv4주소를 입력하고 로그온 유형은 비밀번호 묻기나, 인스턴스를 생성했을 때 생성되는 pem 파일 둘 중 하나를 선택하면 된다.
우측에 ec2 인스턴스 내에 app 내에 jar 파일을 생성하며 된다.
서버내에 jar파일을 구동시켜야 실제 서버가 동작하게 된다.
서버를 구동시키기 위해서는 nohup.out 파일을 생성해야 한다.
nohup이란?
- nohup은 프로세스를 실행한 터미널의 세션 연결이 끊기더라도 프로세스를 계속해서 동작시키는 명령어이다.
- 기본적으로 터미널에서 세션의 logout이 발생하면, 해당 터미널에서 실행된 프로세스들에게 HUP 신호를 전달하여 종료시킨다.
- nohup은 프로세스들을 마치 데몬인 것처럼 동작시켜 이러한 HUP 시그널을 무시하도록 하는 명령어가 된다.
위 명령어를 사용하면 프로세스를 동작시킬 수 있다.
위 명령어를 사용해서 실제 서버에서 동작하는 로그를 확인할 수 있다.
위 명령어로 실제로 8080포트에서 동작하는 프로세스를 확인할 수 있다.
'Spring' 카테고리의 다른 글
[nGrinder] 실행 방법 및 오류 해결 (0) | 2024.03.14 |
---|---|
[Spring Boot / gradle] Cannot load driver class: org.mariadb.jdbc.Driver 해결 (1) | 2024.03.14 |
[Spring] Static Method를 Mocking Test 하는 방법 (0) | 2023.11.19 |
[JPA] fetchType.EAGER(즉시로딩)의 N+1문제의 원인과 해결방법 (1) | 2023.11.09 |
[JPA] 즉시로딩과 지연로딩 (1) | 2023.11.08 |