[부트캠프][4주차]서버 환경 구축, 배달의 민족 API 설계

이호석·2022년 7월 1일
0

부트캠프

목록 보기
10/11

4주차 과제는 서버 환경구축, API 설계이다.
서버 환경은 PHP, Node.js, 스프링부트 중에서 내게 익숙한 스프링부트를 골랐다.

서버 환경 구축

스프링부트 설치

apt install default-jdk

먼저 java를 설치해주고

cd /var/www/
git clone 'github 주소'

nginx 폴더에 들어가 깃 클론 명령어를 통해서 소스를 받아온다. 다른 형식으로 받아와도 문제없다.

vi /etc/nginx/sites-available/default

서버 설정파일을 열고

root /var/www/; //기존
root /var/www/폴더명 //변경

서버의 루트 폴더를 소스를 받은 폴더로 변경해준다.

sudo service nginx restart

그런다음 서버를 재시작한다.

서버 실행

rds설정을 해준 다음에

./gradlew clean build

클린 빌드를 사용해주면 jar파일이 생성된다. 주의할 점은 AWS EC2프리티어는 스프링부트를 빌드한다면 인스턴스가 멈출 확률이 높기 때문에, 그냥 빌드하지말고 로컬에서 빌드를 하고 jar파일을 올리거나, 인스턴스 용량을 늘린다음에 RAM메모리를 늘리는 방법을 택해야한다.
옛날에도 한번 경험했던거 같은데 인스턴스가 멈추면 중지후 재가동을 해야한다. 그럼 IP가 바뀐다..

스프링부트는 기본적으로 빌드를 완료하면 build/libs 폴더에 jar파일이 생성된다.
서버를 실행하면 www.주소:9000 과 같이 포트 번호가 보이는데 보이지 않게하려면

vi /etc/nginx/sites-available/default
location / {
	proxy_passs http://127.0.0.1:9000; //9000은 스프링부트에서 설정한 포트번호이다.
}

서버 설정파일을 위와 같이 수정해주고

sudo service nginx restart

마지막으로 서버를 재시작한다.

API 개발

나는 지난주에 배달의 민족을 선택했기 때문에 이번에도 그에 맞는 API를 개발할 것이다. 물론 지난번처럼 배달, 배민1, 포장 서비스에 한해서! API는 REST API를 따르기로 했다.

API 목록

이런식으로 40개 정도의 API를 만들었다. 물론 실제는 엄청나게 많겠지만 아직 연습 단계이니까..

0개의 댓글