AWS EC2 Linux 인스턴스에서 다음 과정을 통해 프로젝트를 실행해 보겠습니다.
Git 설치 및 SSH Key 설정
EC2 인스턴스에 SSH로 접속 후, Git을 설치하고 SSH Key를 생성하여 GitHub에 등록합니다.
Git Repository Clone
GitHub에서 Repository 주소를 복사한 후, EC2 인스턴스에서 해당 주소를 이용해 프로젝트를 clone합니다.
EC2 인스턴스에서 빌드한 파일로 스프링 부트 서버 실행
EC2 인스턴스에서 Java 설치, Maven을 이용한 프로젝트 빌드, Tomcat 설치 후 .war 파일을 배포하여 애플리케이션을 실행합니다.
EC2 인스턴스에 SSH로 접속 후, Git을 설치하고 SSH Key를 생성하여 GitHub에 등록합니다.
EC2 SSH 접속 방법
https://velog.io/@yedi/AWS-EC2-SSH-%EC%A0%91%EC%86%8D
$ ssh -i <Key pair 파일> ec2-user@<EC2 IP 주소> # Linux 기준
$ sudo yum install git설치 후, 아래 명령어를 통해 설치 여부 확인이 가능합니다.$ git --version $ cd ~/.ssh ssh-keygen 명령어를 실행하면 ssh 경로에 키 페어가 생성되며, 공개 키 파일인 id_rsa.pub이 함께 생성됩니다.$ ssh-keygen -t rsa -C <github 계정 메일>cat 명령어로 id_rsa.pub 파일을 출력한 뒤, GitHub SSH에 등록해야 하므로 복사합니다.cat id_rsa.pub 


GitHub에서 Repository 주소를 복사한 후, EC2 인스턴스에서 해당 주소를 이용해 프로젝트를 clone합니다.

$ git clone <복사한 주소> $ lsEC2 인스턴스에서 Java 설치, Maven을 이용한 프로젝트 빌드, Tomcat 설치 후 .war 파일을 배포하여 애플리케이션을 실행합니다.
Java 설치
먼저 패키지 업데이트를 합니다.
$ sudo yum update -y
Java 17을 설치합니다.
$ sudo yum install java-17-amazon-corretto -y
Java 버전을 확인합니다.
$ java -version
프로젝트 빌드
Maven을 설치합니다.
$ sudo yum install maven -y
프로젝트 디렉토리로 이동 후, 프로젝트를 빌드하고 .war 파일을 생성합니다.
$ mvn clean install

빌드가 성공하면 해당 디렉토리 하위의 target 디렉토리에 .war 파일이 생성됩니다.

Tomcat 설치
경로를 이동합니다.
$ cd /opt
Apache Tomcat 사이트의 Core > tar.gz에 있는 원하는 버전의 Tomcat URL을 복사합니다.
Apache Tomcat 사이트
https://tomcat.apache.org/download-90.cgi

Apache Tomcat을 다운로드 및 설치합니다.
$ sudo wget <복사한 URL>
/ + 실행 권한과 소유권 관련해서 추가 확인 필요 /
/opt/tomcat/bin/startup.sh 파일에 실행 권한을 부여하여, Tomcat 서버를 시작할 수 있도록 만듭니다.
$ sudo chmod +x /opt/tomcat/bin/startup.sh
/opt/tomcat 디렉터리와 그 하위 모든 파일 및 디렉터리의 소유권을 ec2-user로 변경하여, 해당 사용자 계정으로 Tomcat을 실행하거나 권한을 부여하기 위해 사용됩니다.
EC2 인스턴스에서 현재 사용자 이름을 확인하는 방법
1.whoami명령어 사용
: 터미널에서whoami를 입력하면 현재 로그인한 사용자 이름을 확인할 수 있습니다.
2. 기본 사용자 이름
: EC2 인스턴스의 운영 체제에 따라 기본 사용자 이름이 다릅니다. 예를 들어, Amazon Linux는ec2-user, Ubuntu는ubuntu입니다.
$ sudo chown -R ec2-user:ec2-user /opt/tomcat
.war 파일 배포 및 실행
빌드된 .war 파일을 Tomcat의 webapps 폴더로 복사합니다.
$ sudo cp <.war 경로/.war 파일명> /opt/tomcat/webapps/

경로 이동 후, Tomcat을 시작합니다.
$ cd /opt/tomcat/bin
$ ./startup.sh

애플리케이션 접속
브라우저에서 http://<EC2_PUBLIC_IP>:8080/<Context_Path> 형식으로 접속합니다.
http://<EC2_PUBLIC_IP>:8080/<.war 파일 명>/<controller 경로>
화면이 표시되지 않는 경우, EC2 인스턴스의 보안 그룹에 8080 포트를 인바운드 규칙으로 추가해야 합니다.

위 과정을 완료한 후, 브라우저에서 다시 확인하면 화면이 정상적으로 표시되는 것을 확인할 수 있습니다.
https://seosh817.tistory.com/322
https://velog.io/@jonghyun3668/SpringBoot-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-EC2-%EB%B0%B0%ED%8F%AC%ED%95%98%EA%B8%B0#2-%EB%B0%9C%EA%B8%89-%EB%B0%9B%EC%9D%80-ssh-%ED%82%A4%EB%A1%9C-ec2-%EC%9A%B0%EB%B6%84%ED%88%AC-%EC%BD%98%EC%86%94%EC%97%90-%EC%A0%91%EC%86%8D%ED%95%98%EA%B8%B0
https://min-nine.tistory.com/entry/%EC%89%BD%EA%B2%8C-%EB%94%B0%EB%9D%BC%ED%95%98%EB%8A%94-AWS-06-AWS-EC2-%EC%84%9C%EB%B2%84%EC%97%90-80%ED%8F%AC%ED%8A%B8-%EB%B0%8F-8080-%ED%8F%AC%ED%8A%B8-%EC%B6%94%EA%B0%80%ED%95%98%EA%B8%B0