이번 시간에는 EC2 인스턴스 위에 프로젝트를 빌드하고, 외부 접속이 가능하도록 포트를 개방하는 작업을 하겠습니다. 작업 순서는 다음 순서와 같습니다. 자 시작해볼까요?
1. jdk, tomcat 설치
2. yum을 통해 GIT 설치
3. GIT clone 프로젝트
4. Maven 설치 - compile -package
1. jdk 설치, 톰캣 설치
1-1-1. java version을 확인합니다.
현재 EC2 인스턴스에 설치되어 있는 자바 버전을 확인합니다. 기본적으로 open jdk 7버전이 설치 되어 있습니다.
java -version
- open jdk 1.7 xxx
1-1-2. yum을 통해서 openjdk 1.8을 설치합니다.
sudo yum install java-1.8.0-openjdk.x86_64
1-1-3. tomcat 8 설치와 톰캣 패키지 3개를 설치합니다.
sudo yum install tomcat8
sudo yum install tomcat8-admin-webapps
sudo yum install tomcat8-webapps
1-1-4. 톰캣 서비스를 실행합니다.
sudo service tomcat8 start
1-1-5. 보안그룹에서 사용자 지정 TCP 8080을 허용하고, 퍼블릭 ipv4 DNS로 주소를 입력하고 접속합니다.
톰캣 화면이 나오네요. 고양이 home화면이 잘 나오면 1단계는 문제없이 완료됬습니다.
2. git 설치 , Project clone
2-1. yum install을 통해 git을 설치합니다.
sudo yum install git
2-2 git version을 확인합니다.
git version
- version은 최신버전으로 설치한다.
- git version 2.23.4
2-3 root/app/git 디렉토리를 만든다
mkdir /root/app
cd /app
mkdir /root/app/git
cd git
pwd
# /root/app/git
2-4 git repo서버에서 clone을 합니다
git clone https://github.com/themapisto/toyproject1222.git
3. Maven 설치, Compile, Package!
3-1 maven을 설치합니다.
sudo yum install maven
3-2 Compile을 합니다 ( pom.xml ) 이 위치한 폴더에서 maven 명령어를 실행할수 있습니다.
cd /root/app/git/toyproject1222/1210kp
ls
# pom.xml src Servers
mvn compile
# Compile이 완료되면 target/classes라는 폴더가 생긴다
# 이후 패키징을 하면 그안에 ROOT.war같은 파일이 생깁니다.
3-3 maven package
mvn package
mvn package가 성공적으로 실행되면, target 폴더에 프로젝트 이름과 버전에 따라 알맞은 이름을 갖는 jar 파일이 생성된다. 위 예제의 경우에는 sample-1.0-SNAPSHOT.jar 파일이 생성된 것을 확인할 수 있다.
# pom.xml의 구조에 대해서 조금 알아봤는데 pom.xml에 기록되어있는 내용을 기반으로 ROOT.war 을 만드는것으로 보인다
- <groupId> - 프로젝트의 그룹 ID 설정
- <artifactId> - 프로젝트의 Artifact ID 설정
- <version> - 버전 설정
- <packaging> - 패키징 타입 설정. 위 코드의 경우 프로젝트의 결과 Artifact가 jar 파일로 생성됨을 의미한다. jar뿐만 아니라 웹 어플리케이션을 위한 war나 JEE를 위한 ear 등의 패키징 타입이 존재한다.
3-4 war파일을 tomcat의 webapps 경로에 옮긴다.
/usr/share/tomcat8/webapps
3-5 파일을 옮긴뒤에 server을 재시작 해준다.
sudo service tomcat8 restart
끝!
'DevOps > AWS' 카테고리의 다른 글
[AHSS 1주차] AWS S3 보안 (1) (0) | 2023.08.28 |
---|---|
AWS Config (0) | 2023.06.06 |
[AWS] S3 사용방법 (0) | 2022.06.22 |
[AWS] 1. EC2 인스턴스 생성하기 (0) | 2021.05.09 |
[AWS] 2. MariaDB RDS 생성하기 (0) | 2021.04.29 |