서버 개발 환경 구축 가이드

강준호·2022년 3월 17일
0

Rds 생성

VPC를 새로 생성하던지 아니면 기존 보안그룹을 사용하던지 한다. + 퍼블릭 엑세스는 (예 클릭)

EC2 생성

보안그룹 설정에서 SSH 는 내 IP 로 나머지는 모두 허용으로 풀어준다

키페어는 있으면 있는거 사용하고, 없다면 새로 발급받자

local 파일에 있는 스프링 부트를 git에 업로드하기

스프링 부트가 있는 폴더로 가서

git init
git add README.md(생략)
git commit -m "first commit"(Setting 이라고 해도되고 하고싶은 메모)
git branch -M main
git remote add origin https://github.com/mpfo0106/Rising_Joon.git
git push -u origin main

EC2 탄력적 ip

탄력적 ip 연결해주기


WINSCP 로 ec2 우분투에 접속

apt update
apt install nginx
apt-get update
apt-get install git
git --version

apt install default-jdk -y (자바 설치)

git 파일 가져오기 by SSH

cd ~/.ssh
ssh-keygen -t rsa -b 4096 -C "email@example.com"

public/private 키의 위치와 비밀번호를 입력하라고 뜰겁니다.

모두 Enter를 눌러서 넘어갑니다.

cat ~/.ssh/id_rsa.pub

출력된 ssh 코드를 복사한뒤

github ssh keys 에 추가


cd /var/www
git clone git@github.com....(ssh repository 주소)

RDS 설정

인바운드 규칙

Datagrip에 연결

rds 엔드포인트 값을 새 mysql 에 넣어주기


Spring Boot yml 파일 수정


모든 수정이 끝났다면

local

spring boot 폴더로 가서

git add .
git commit -m "03/17 22:02 수정본" (원하는 메모)
git push

EC2(sever)

ssl 및 도메인 https 적용

sudo apt update
sudo apt upgrade
sudo add-apt-repository ppa:certbot/certbot
sudo apt install python-certbot-nginx

sudo vim /etc/nginx/sites-available/default
sudo nginx -t

server_name 에 도메인 추가해주기

sudo nginx -t (nginx 테스트)
sudo systemctl reload nginx
sudo ufw status (방화벽 허용인가 테스트)

sudo certbot --nginx -d joon-serverlab.shop -d www.joon-serverlab.shop => 해야함

spring boot 폴더로 가서

git pull


etc/nginx/sites-available 프록시 수정

root 를 설정한 github 폴더 이름으로 바꿔줘 ex) root /var/www/Rising_Joon

location 블럭에

proxy_pass http://localhost:9000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;

후에

systemctl restart nginx

이제 spring boot gradle 빌드

./gradlew clean build
java -jar build/libs/demo-0.0.1-SNAPSHOT.jar

0개의 댓글