# 오라클 클라우드 무료 티어에 spring boot 배포하기

aws와는 다르게 오라클 클라우드는 평생 무료로 사용 가능하다. 오라클 클라우드에 초 간단하게 배포하는 방법을 기록해 본다.

# 1. 일단 오라클 클라우드에 회원가입을 해준다

# 2. 무료 vm 생성 클릭

image

image

image

# 3. ip 고정

# 4. cmd 실행해서 ssh 접속

귀찮으니까 ssh 다운받은 경로에서 바로 cmd 실행해서 명령어 입력해줬다. 뒤에 ip주소는 고정한 내 ip 주소다. 각자 고정한 ip에 맞게 수정

image

# 내가 보는용임
ssh -i ssh-key-2024-04-21.key ubuntu@158.180.66.250 
1
2

# 5. sudo su

명령어 실행하다보면 관리자 권한 필요하다. 아묻따 관리자 권한 획득해준다.

sudo su
1

# 6. git 클론 받기

git clone https://github.com/LEEKYOUNGHWA/threadCloneCoding.git
1

# 7. java 설치

$ sudo apt-get update
$ sudo apt-get upgrade

# JAVA11 설치
$ sudo apt-get install openjdk-11-jdk
1
2
3
4
5

# 8. JAVA_HOME 설정하기

블로그 (opens new window)

# 9. 빌드하기

WARNING

처음에 20분이 넘도록 빌드가 안되길래 재부팅 해줬다... free tier라서 메모리가 모자라서 그런가 해서 한참 기다렸는데... 걍 재부팅 하니까 금방 해결됬음.

chmod +x gradlew # 권한 없을때 실행
sudo chown 777 ./gradlew
./gradlew build
1
2
3

# 10. 방화벽 열어주기

블로그 (opens new window)

instance에 Ingress Rules 추가해주고, 명령어 실행해 준다.

sudo apt install firewalld
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --permanent --zone=public --add-port=8787/tcp
firewall-cmd --permanent --zone=public --add-port=443/tcp
firewall-cmd --reload
firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8787 --permanent #80 -> 8787으로 포트 포워딩
firewall-cmd --reload
firewall-cmd --zone=public --list-all #확인
1
2
3
4
5
6
7
8

# 11. 빌드 파일 실행하기

cd build/libs
java -jar ThreadCloneCoding-0.0.1-SNAPSHOT.jar # ssh 붙어있을때만 서버 실행. 백그라운드에서 실행되려면 nohup
1
2

# 12. 접속 확인

image

# 13. 수동 배포

ssh -i ssh-key-2024-04-21.key ubuntu@158.180.66.250
git pull
chmod +x gradlew
./gradlew build -x test 
cd build/libs
nohup java -jar ThreadCloneCoding-0.0.1-SNAPSHOT.jar & > /dev/null
1
2
3
4
5
6

블로그 (opens new window)