
이전포스팅에서 생성했던 인스턴트들에 애플리케이션을 배포하기 위한 환경을 구성해보자.
Spring Boot (Gradle) + React + MySQL 배포 서버 세팅하기에서 계획했던 것처럼 두개의 Web 서버에 각각 React Application를 배포하기 위한 node.js를 설치할 것이고 두개의 WAS 서버에는 각각 Java 와 Gradle을 설치할 것이다.

EC2 대시보드 > 인스턴스 > WEB01 인스턴스 클릭

"연결" 버튼 클릭

"연결" 버튼 클릭

연결 완료
아마 기본적으로 git이 설치가 되어 있을 것이다.
> git --version

설치가 되어 있다.
만약 설치되어 있지 않다면
> sudo apt install git
ubuntu 계정으로 설치하니까 전역으로 설치가 안되서 CodeDeploy를 적용할 때 문제가 생겼다.
sudo su - root위 명령어로 root로 전환하거나 sudo 키워드를 꼭 사용해서 전역으로 설치하자.
# nvm 설치
> curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
# 설치 반영
> source ~/.bashrc
# 원격 node 버전 확인
> nvm list-remote
# 원하는 버전 설치
> nvm install v18.17.1

설치 완료!
++
# pm2 까지 설치해준다.
> npm install -g pm2
++

프리티어라 메모리 여유가 없다..


# 버전에 맞는 jdk 설치
> sudo apt install openjdk-17-jdk

설치 완료
아마 apt로 설치를 했다면 /usr/lib/jvm/ 디렉토리 하위에 jdk가 설치 되었을 것이다.
> sudo vi /etc/environment
# 아래 라인을 추가한 후 저장
JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"
# 수정한 파일 반영
> source /etc/environment

적용 완료
++
Swap 메모리를 추가 안하고 아래 작업을 진행했는데 서버가 수차례 뻗었다.
먼저 추가하고 진행하자.
# unzip 설치
> sudo apt install unzip
# 버전에 맞는 gradle 설치
> wget https://services.gradle.org/distributions/gradle-8.8-bin.zip
# /opt/gradle 경로 생성
> sudo mkdir /opt/gradle
# 생성된 경로로 gradle 압축 풀기
> sudo unzip -d /opt/gradle ./gradle-8.8-bin.zip
# gradle 환경변수 추가 스크립트 작성 > sh 파일로 생성
> echo "export PATH=$PATH:/opt/gradle/gradle-8.8/bin" | sudo tee -a /etc/profile.d/gradle.sh
# 환경변수 반영
> source /etc/profile.d/gradle.sh