Skip to main content

배포 및 프록시 서버 적용하기.

배포하기!

배포 전략으로 ncloud 서버에 어플리케이션과 DB는 도커 컨테이너를 사용하여 띄우고, nginx를 앞단에 두어 프록시 서버를 통해 서버에 접근하도록 하였습니다.

Step 1. docker-compose로 이미지만들기.

우선 application과 db를 원격 서버에서 이용할 수 있도록 docker-compose를 세팅하고, application 이미지를 만들어줍니다.

deploy-1.png

deploy-2.png

docker-compose를 build하여 app 이미지를 만들어주고, 해당 이미지를 원격 서버에서도 사용할 수 있도록 docker registry에 푸쉬해줍니다.

db는 mongodb를 사용했으며 docker hub에 image가 존재하기 때문에 따로 등록해줄 필요는 없습니다.

Step 2. ncloud에 docker container 띄우기.

cloud 서비스로 ncloud를 사용하였으며 ssh를 통해 원격서버에 접근하여 container 생성을 위해 docker-compose.yml을 만들어주고 docker registry에 등록하였던 app 이미지를 pull해옵니다.

docker-compose up -d 로 이미지를 빌드하고 컨테이너를 생성합니다.

Step 3. nginx로 프록시 서버 세팅하기.

원격 서버에 nginx를 설치하고 설정 파일에서 지정한 domain으로 접근 시 nginx로 접근되도록합니다.

80 port와 443 port를 사용하도록 설정되어있으며 80으로 접근시 443 (https)로 리다이렉트 되도록 설정되어있습니다.

letsencrypt와 certbot을 사용하여 ssl 인증서를 발급받고 https접근을 가능하도록 하였습니다.

deploy-3.png