[엉박사] 2.1 배포과정

impala·2023년 1월 12일
0
post-thumbnail

2.1 배포과정

프로젝트 마무리단계에서 본격적으로 웹 서비스를 배포하는 방법에 대해 찾아보기 시작했다. 웹을 다루는 첫 프로젝트였기 때문에 역시 배포해본 경험이라고는 전무했기 때문에 배포가 구체적으로 어떤 행위인지 이해하는 것부터가 난관이었다.

구글과 유튜브를 닥치는대로 찾아가며 어렴풋이 배포가 무엇인지, 웹서버는 무엇이고 WAS는 무엇인지, 백엔드와 프론트엔드가 어떻게 소통하는지 등 몰랐던 것들을 알게되고 잘못 알고있었던 내용들도 고쳐가면서 결국 그럴듯하게 서버를 구성하였다. 아래는 이번 프로젝트의 서비스 구조도이다.

설명을 하자면 전체적으로는 AWS환경을 사용하여 서비스를 배포하였고, 데이터베이스 서버는 RDS에, API서버는 EC2인스턴스에 올려 구축하였다.

정적파일을 호스팅해주는 웹서버를 배포하는 방식은 여러가지가 있었는데, 웹서버도 EC2인스턴스에 올려 구축하는 방법을 선택했다. 그러다보니 한 인스턴스에 웹서버와 API서버가 같이 있게되어 이를 구분하고자 도커를 사용하여 각 서버의 환경을 나누고 도커 컴포즈 툴을 활용하여 컨테이너들을 손쉽게 관리하였다.

추가적으로 API서버 컨테이너에는 Gunicorn을, 웹서버에는 NginX를 사용하여 서버로 들어오는 요청을 URI에 맞게 라우팅해주었다.

0개의 댓글