이번에 서버이전을 하면서 이것저것 알게된 지식 및 경험을 공유하고자 이 글을 작성합니다.
서버 이전
서버 이전을 하게 되었습니다.
기존엔 cloudv 를 쓰고 있었는데, 같은 회사에서 나온 iwinv 가 한국형 AWS가 되겠다고 하고 과감하게 출사표를 던저서 가격을 보던 중, iwinv 가 압도적으로 좋다고 판단해서 서버이전을 마음먹었습니다.
기존 cloudv 사양
1core, 3G memory, 100G ssd -> 월 31900원
이전 iwinv 사양
2core, 6G memory, 25G ssd -> 월 20900원
iwinv 는 블록스토리지 20g 추가 당 2000원.
굳이 이전하지 않을 이유가 없었습니다.
아무튼…
이전하는 김에 제 개인 서버를 모두 Dockerizing 하기로 마음을 먹고, 작업을 진행하던 중에, 요즘 무료로 https
를 발급해주는 Let’s Encrypt 라는 프로젝트가 있다는 사실을 알게 되었습니다.
그래서 이것도한 시도를 하겠다는 마음을 덜컥 먹어버린…
이런 이유로 시작한 설치 경험을 공유합니다.
Docker
소개
Docker 는 요즘 모르는 사람이 별로 없을 것 같습니다만, 상세소개는 페이지 링크로 대체합니다.
Official Site Overview
nacyot의 프로그래밍 이야기 :: 도커(Docker) 튜토리얼 : 깐 김에 배포까지
간단히 Docker 에 대해 설명하자면 아래 아키택트 이미지로 쉽게 표현이 가능할 것이라고 생각합니다.
Docker 를 이해하기 위해선 가상 머신(Virtual machine)과의 비교는 필수라고 생각합니다.
한마디로 제게 Docker 를 표현하라고 한다면, Virtual machine 의 장점(isolation, distribution)을 취했으나, 훨씬 더 비용이 적게드는 시스템이 아닐까합니다.
Docker 를 적용하는 이유
이런 도커를 이용해서 제 블로그 및 서버를 구성하기로 마음먹은 겁니다.
이유는 여러가지가 있지만 가장 큰 이유는, 개인서버는 형편상 이사갈 일이 많습니다.
좀 더 저렴하고 좋은 서비스가 나오면 이사를 가야하기 때문이죠.
적고보니 회사든 개인이든 비용문제는 같은 거군요..
Docker를 적용한다면 앞으로 다른 더 좋은 호스팅 서비스가 나올 경우, 쉽게 갈아탈 수 있게 하기 위함입니다. 도커 이미지만 Download 받고 실행하면 그만이거든요.
Dockerizing 본격 시작
이 블로그는 블로그계의 원탑 wordpress 로 이뤄져있고, 워드프레스는 역시 유명한 만큼 자료가 많더군요.
Quickstart: Compose and WordPress
Docker 공식 사이트에 이렇게 docker compose
로 결합하는게 나옵니다.
하지만 부족합니다…
이유는 저는 일단 mysql
을 사용하지 싫고, mariadb
를 사용하고 싶기 때문이며,
하나는 역시나 이것또한 비용 문제로 docker image size
를 조금이라도 줄이고 싶기 때문입니다.
그러기에 저는 Alpine Linux 를 쓸 생각을 하게 됩니다.
Using docker compose
GitHub – 9to6/docker-wordpress-nginx: Docker compose for WordPress
docker compose
를 이용해서 워드프래스를 구성하실 분은 위 링크를 참고하시면 좋을 듯합니다.
구성은,
nginx 1.13 alpine, mariadb 10.2.6, wordpress 4.8 alpine
으로 구성했으며, wordpress Plugin인 duplicator 의 손쉬운 사용을 위해, 기본 Dockerfile
에서 zip
라이브러리를 추가했습니다.
Using only Dockerfile
심플하기는 위에 것보다 아래 링크가 더 심플합니다.
GitHub – 9to6/docker-wordpress: docker + nginx + mariadb + supervisor + php7
이건 docker compose
를 사용하지 않고, 하나의 도커파일에 nginx + mariadb + wordpress + supervisor 를 한번에 담은 것으로 단순 wordpress 를 호스팅하길 원하시는 분은 이것이 훨씬 단순할 것입니다.
$ sudo docker pull 9to5/wordpress
Docker hub
에 이미지도 올려놓았으니 필요한 분들은 사용하시면 됩니다.
결론
이렇게 해서 도커를 이용해서 워드프레스 서버 구성을 끝냈습니다.
여러분이 보고 있는 이 화면이 결과물입니다.
다음 글은 wordpress 블로그에 무료 https 적용하는 방법을 기술하겠습니다.