EC2 인스턴스가 있다는 가정하에 배포하는 과정을 정리해보았다.
본글은 EC2에 Spring Boot 서버를 붙여주는(?) 과정만 있다.
인스턴스 생성 과정이 궁금하다면 이 블로그에 정리가 잘되어 있다.
⚠️ 참고:
참고로 본글의 EC2 환경은리눅스
이다.
우분투
로 인스턴스를 생성한 경우 명령어가 달라 밑에 내용으로 진행할 수 없다.
우분투
로 서버 배포하는 과정은 위에 첨부한 블로그를 참고하면 된다.
EC2에 서버를 붙이는 간단한 방법으로 2가지가 있는데 아래 내용은 1번째 방법이다.
1. EC2에서
git
을 통해 빌드 후 실행
2. 빌드한jar
파일을 EC2로 실행
.pem
파일을 안전한 곳으로 이동EC2를 실행하기 전에 먼저 밑에 명령어를 통해 중요한 정보가 들어있는 .pem 파일을 보호하자.
mv cafe.pem ~/.ssh
cd ~/.ssh
chmod 400 cafe.pem
AWS 인스턴스 생성 후, 연결
을 클릭하면 아래와 같이 ssh 명령어가 친절하게 나와있다.
명령어를 터미널에 입력한다.
ssh -i "이름.pem" ec2-user@~~~
⚠️ 참고:
이 때 하기와 같은 경고가 뜬다면,
보안 그룹 > 인바운드 규칙
에서 SSH로 E2C를 접속할 수 있게 22 포트를 열었는지 확인해보라.ssh: connect to host ... port 22: Operation timed out
EC2 환경에서 프로젝트를 실행하기 위해 JDK를 다운로드 받고,
빌드를 하기 위해 Git을 다운로드 받아야 한다.
version
명령어로 설치가 되어 있는지 먼저 확인해보는 것도 좋다.
다운로드 후 잘 설치가 되었는지 확인할 때도 자주 쓰는 명령어다.
git –-version
java -version
⚠️참고:
권한 문제로 다운로드가 안된다면 밑에 명령어 중 하나를 실행해 권한을 바꿔주고 다운로드를 시도해 본다.sudo su // 슈퍼 유저 권한으로 실행 sudo -i // / 슈퍼 유저 권한으로 실행
다운로드 받을 수 있는 JDK 리스트를 확인해보기 위해 밑에 명령어를 순서대로 입력한다.
yum list java*jdk-devel
yum install java-11-openjdk-devel.x86_64
이후 환경 변수를 설정해야 하는데, 환경 변수 설정하는 방법은 블로그1, 블로그2, 또는 블로그3 참고 바란다.
필자는 두번 시도 했는데 한번은 아무 리스트도 뜨지 않거나, 한번은 1.8 버전만 있었다.
jdk-11이 필요했기 때문에 직접 gz 파일을 다운로드 받아야 했다.
wget https://download.java.net/java/ga/jdk11/openjdk-11_linux-x64_bin.tar.gz
tar xvf openjdk-11_linux-x64_bin.tar.gz
이후 환경 변수를 설정해줘야 하는데, 이후 과정은 참고 링크에 있는 과정을 똑같이 진행하면 된다.
아직 시도해보지 않은 방법이라 우선 내용을 간략히 기재해두고, 시도하고 내용을 보완하겠다.
yum list java* //
이렇게 하면 리눅스에서도 다운로드 받을 수 있는 jdk 리스트가 보여진다고 한다.
yum install git
이후 과정은 아마 익숙할 것이다.
git clone {프로젝트 주소}
cd {프로젝트 폴더}
./gradlew build
java -jar {프로젝트명}-0.0.1-SNAPSHOT.jar
터미널이 꺼져도 계속 실행하고 싶다면 밑에 명령어로 실행한다.
java -jar {프로젝트명}-0.0.1-SNAPSHOT.jar&
⚠️참고:
빌드하면 jar 파일 두개가 생기는데, plain이 아닌 jar 파일을 실행해야 한다.
cafe-0.0.1-SNAPSHOT-plain.jar
>> 이거 말고cafe-0.0.1-SNAPSHOT.jar
>> 이거
끝.