턴더페 프로젝트 part 3
2019-04-10 17:22 구르소이번 편에서는 Docker와 AWS ELB를 활용해 서버를 구현한 이야기를 해보려고 한다.
Server
Docker
비용 문제로 EC2 프리티어를 가지고 구현하게 됐다.
FROM python:3.5
MAINTAINER gureuso <wyun13043@gmail.com>
USER root
WORKDIR /root
#base
RUN apt-get -y update
RUN apt-get -y install python3-pip
#django
RUN git clone https://github.com/gureuso/turnthepage.git
WORKDIR /root/turnthepage
RUN pip install -r requirements.txt
EXPOSE 8000
CMD python manage.py makemigrations;python manage.py migrate;python manage.py runserver --insecure
장고 앱 배포를 위해 Dockerfile을 작성했다. 프로젝트는 깃허브에 올려 git clone으로 가져오게 했다.
docker build -t turnthepage:0.1 --no-cache /root/docker/turnthepage
docker build -t mysql:0.1 --no-cache /root/docker/mysql
docker run -d --net turnthepage --name db mysql:0.1 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
docker run -d --net turnthepage --name turnthepage -p 8000:8000 -e DB_HOST=172.18.0.2 turnthepage:0.1
turnthepage 네트워크를 만들어 APP과 DB를 묶어 내부 통신 가능하게 만들었다.
AWS ELB
gureuso.me 도메인을 구입하게 되었다. 도메인을 구입한 기념으로 turnthepage 프로젝트를 book.gureuso.me에 연결하게 되었다.
AWS에서 도메인을 구입하게 되면 ACM에서 발급 받은 인증서를 통해 ELB에 SSL를 적용할 수 있게 된다. 즉 https://book.gureuso.me 가 가능해진다는 것이다.
# SSL/HTTPS
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
SECURE_SSL_REDIRECT = True
https가 가능해졌고 http로 접속시 https로 리다이렉션 되게 해야했다. 이 부분은 장고 옵션을 통해 해결했다.
마치며
미루고 왔던 프로젝트가 드디어 끝났다. 차차 업그레이드를 통해 기능을 발전시킬 예정이다. 안드로이드 책 다 읽기가 목표인데 꾸준히 기록해서 클리어까지 해봐야겠다. 클리어 하면 안드로이드 프로젝트가 나를 기다리고 있겠지..
어쨌든 새로 배운 장고를 활용해 만든 첫 프로젝트 치고는 나쁘지 않았다.
끝.
- aws
- elb
- docker
![]() |
드디어 “CI/CD 구축하기”를 하게 되었다. 젠킨스를 도커에 올릴수 있다는 것 만으로도 신기한데 자동화된 테스트와 빌드를 구축할 수 있게 됐다는 사실에... |
![]() |
집을 나가기 위해서는 생각보다 많은 정보가 필요하다. 지금이 몇시 인지도 알아야 하고 혹시 비가 올수도 있으니 날씨도 알아야 한다. 또한... |
![]() |
Flask로 만들었던 영화 예매 사이트를 React & Next.js로 이전하면서 겪었던 삽질 이야기를 해보려고 한다. |
Copyright 2019. Gureuso. All rights reserved.