spring 서버 배포를 위해 EC2 인스턴스 생성과 이미 만들어둔 RDS 서버 연결 , spring 배포 등을 진행해 볼 예정이다.
우분투 18.04 버전으로 진행할 예정이다.
선택을 누른뒤 검토 및 시작 을 가서 키페어 선택 후 생성을 해준다.
인스턴스가 생성된 것을 확인할 수 있다.
인스턴스 생성시 22번 포트가 열려 있다. git bash를 이용해 접속이 가능하다.
ssh -i 키페어위치(파일드래그) ubuntu@퍼블릭ip주소
이 퍼블릭 ip주소는 ec2인스턴스 내부에서 확인이 가능하다.
인텔리제이의 오른쪽 옆 Gradle에서 build>build를 더블클릭해주면 빌드가 시작된다. 완료되면 왼쪽의 프로젝트 구조에서 build밑에 libs를 보면 ~~~.jar
파일이 생성되며 이것이 빌드된 배포파일이다. 이 파일을 EC2에 올려서 실행시키는 것이다.
SSH로 접속한 상태에서 아래와 같이 명령어를 쳐서 설치한다.
sudo apt-get update
sudo apt-get install openjdk-11-jdk //스프링 부트 버전과 맞춰서 설치한다.
java -version //버전 확인
FileZilla 라는 프로그램을 이용한다. 다운로드
다운로드 완료
맨위의 버튼을 누르면 사이트관리자가 뜨고 New site 를 눌러서 추가해준다.
프로토콜을 SFTP로 바꿔주고 호스트는 EC2 인스턴스의 퍼블릭 IP를 넣어준다. 사용자는 SSH접속시 설정한 이름을 작성하여 주고 키파일은 키페어위치를 찾아서 넣어주면 된다.
연결이 되면 왼쪽이 내 로컬 컴퓨터 오른쪽이 EC2 인스턴스(가상컴퓨터) 가 된다. 오른쪽 리모트 사이트에서 적당한 디렉터리를 ㅁ나들어주고 드래그 앤 드롭으로 jar파일을 옮겨준다.
이후 git bash 에서
java -jar 파일이름.jar
를 쳐주면 구동화면이 나온다.
8080포트 접속을 위해 80번과 8080의 보안 설정을 해준다.
RDS 보안그룹 설정 처럼 EC2의 보안 그룹으로 들어가서 인바운드 규칙을 편집해준다.
설정을 하고 퍼블릭IP:8080 으로 접속을 하면 접속이 가능한 것을 알 수 있다.
nohup java -jar 파일이름.jar &
로 실행해준다. 원격을 종료해도 서버는 알아서 돌아가며, 죽이기 위해서는 ps -ef | grep java
를 통해 실행중인 자바 프로세스를 kill -9 번호
로 서버를 종료할 수 있다.
잘봤습니다~