블로그 소개 (오라클 클라우드의 무료 서버 2대로 구성한 워드프레스 블로그 )

티스토리에서 독립서버에 구축한 워드프레스로 블로그 이사를 완료한지 어느새 1 개월이 지났습니다. 제가 이사를 하기 전에도 많은 티스토리, 네이버 등에 둥지를 틀고 있던 블로거들이 평생 무료 가상서버를 제공하는 오라클 클라우드로 이사했다는 소문(?)이 돌았지요. 그리고 이 블로그도 언젠가는 옮겨야 하지 않을까 하는 오랜 고민 끝에 결국 이사를 단행했습니다. 그리고 1 개월 간 모니터링한 결과 오라클 클라우드의 무료 서비스 인스턴스가 종료되지만 않는다면 지속적으로 운영이 가능할 것으로 결론을 내렸고 이 시점에 taeho’s life logger 블로그의 서버 구성을 소개할까 합니다.

오라클 클라우드에 생성한 2개의 가상 서버 (Virtual Machine Server)

제 블로그를 방문한 분들 중 일부는 이 블로그가 네이버 블로그 인지를 묻는 분들이 계십니다. 아닙니다. 제 블로그는 1개월 전 까지는 티스토리에 있었고 지금은 오라클 클라우드(OCI)에서 제공하는 평생 무료 가상서버 2개를 이용해 설치한 독립형 워드프레스에 있습니다.

앞 화면에서 보이는 가상 서버 목록 중 이름이 www인 서버가 워드프레스가 설치된 웹서버 입니다. 이 웹서버에는 운영체제로 Ubuntu 20.04 LTS 버전이 설치되어 있고 Apache와 PHP로 구성된 웹서버가 설치되어 있으며 그 위에 워드프레스가 설치되는 방식으로 구성되어 있습니다.

그리고 mariadb 서버에는 마찬가지로 운영체제는 Ubuntu 20.04 LTS 그리고 MariaDB가 설치되어 있습니다.

즉 워드프레스가 설치된 웹서버와 워드프레스에서 입력한 블로그의 포스트와 댓글 등이 저장되는 DBMS인 MariaDB가 2대의 가상서버에 분리되어 설치되어 있습니다. 이렇게 구성한 이유는 Oracle Cloud에서 제공하는 평생 무료 가상서버는 1 oCPU와 1 GB의 램이 제공되는 작은 서버입니다. 이 작은 서버 하나에 Apache, PHP, MariaDB를 모두 설치하고 워드프레스를 설치할 경우 서버의 램이 부족하여 종종 웹서버가 멈추는 증상이 생긴다는 점 입니다.

그래서 평생 제공되는 2대의 가상서버에 웹서버와 DB서버를 분리하여 설치했습니다.

웹서버와 DB서버의 스펙

오라클 클라우드에서 제공하는 서버는 앞에서도 설명했지만 1 oCPU에 1GB 램 입니다. 다음과 같이 확인할 수 있습니다.

먼저 Apache 웹서버와 워드프레스가 설치된 서버 입니다. hostname이 www 입니다.

웹서버 HW 스펙
OCI에 생성한 가상서버 (www)

Ubuntu 리눅스 임을 알 수 있습니다. 그런데 CPU 코어가 2개 입니다. 분명히 오라클 클라우드의 무료 계정에서 생성한 평생 무료 가상서버인데 1개가 아니고 2개가 할당되었습니다. OCI에서 말하는 oCPU 1가 물리코어를 의미하는 것은 아닐텐데 왜 두 개로 잡히는지는 확인이 필요합니다. 어쨌든 운영체제에서는 2개로 표시가 되고 있습니다.

그리고 메모리는 974 M Byte로 표시됩니다. 1 G Byte 라고 보면 됩니다. 그리고 Apache 웹서버와 PHP-FPM, 그리고 워드프레스가 설치되어 블로그가 구성된 상태에서 실제 사용하고 있는 메모리는 407 M Byte 입니다. 그리고 운영체제가 캐시 메모리로 484M Byte를 사용하고 있습니다. 즉 DB가 별도의 서버에 구성된 경우 1 oCPU, 1 G Byte 램의 가상서버에서 개인의 블로그는 문제 없이 안정적으로 동작이 가능하다는 것을 의미합니다.

다음은 MariaDB가 설치된 서버 입니다. hostname은 mariadb 입니다.

Oracle Cloud에 생성한 mariadb 서버
OCI에 생성한 가상서버 (mariadb)

마찬가지로 Ubuntu 리눅스이며 2개의 CPU 코어 그리고 1 G Byte 램입니다. 아, 그리고 파일시스템은 45 G Byte 네요.

그런데 메모리(램)의 사용량이 다릅니다. 앞의 웹서버 보다 조금 더 많은 616M Byte를 사용하고 있습니다. 아무래도 MariaDB의 DBMS 자체 캐시 등 다중 사용자 환경의 DBMS 동작에 필요한 메모리가 많이 필요하기 때문에 기본 사용량이 꽤 클겁니다. 그리고 제 블로그에는 글이 약 1,000여개가 있습니다. 그 중에는 하루에 1회 조회되는 글들도 꽤 많구요. 비록 1개 포스트의 텍스트 데이터는 사실 얼마 되지 않기는 하지만 개수가 많다보면 속도를 위한 캐싱에 사용되는 램이 약간은 늘어날 수 있다는 점을 감안해야 합니다.

결론적으로 웹서버와 DB서버를 가상서버 한대로 구성한다고 하면 1 G Byte의 램은 부족하다는 결론을 내릴 수 있습니다.

즉 워드프레스 블로그를 안정적으로 운영하고 싶다면 최소한 2 G Byte의 램(메모리)을 가진 가상서버를 생성해야 합니다.

웹서버와 DB서버의 CPU 및 메모리 사용율

두 서버의 실시간 CPU 및 메모리 사용율을 측정해봤습니다.

왼쪽이 워드프레스가 설치된 웹서버이고 오른쪽이 MariaDB 서버입니다. 1초 간격으로 서버의 자원사용율을 측정한 결과 입니다. 두대 동시에요. 실제로 DB서버 보다는 웹서버에 부하가 미미하나마 더 걸린다는 점을 알 수 있습니다. 하루 2000 페이지 뷰 블로그의 웹서버와 DB서버의 CPU, RAM 등 자원 사용율을 약 55초간 1초 간격으로 측정한 것입니다. 실제로 SWAP이 사용되지 않는 것으로 보아 메모리(RAM)이 부족하지는 않다는 것을 알 수 있습니다. SWAP이 사용되기 시작하면 메모리(RAM)이 많이~ 부족하다는 것을 의미합니다. 당연히 속도의 저하도 심각한 수준이 될 가능성이 높습니다.

워드프레스에서 사용하는 테마와 플러그인

사용하고 있는 테마는 Avada 무료버전을 사용하고 있습니다. 그리고 적용된 플러그인은 화면에서 보는 바와 같습니다.

구글 어낼리틱스, 서치콘솔 그리고 애드센스 코드 삽입을 위해 구글의 Site Kit 플러그인을 적용했습니다. 그리고 SEO 측정을 위해 Ran Math 검색엔진 최적화 플러그인을 적용했으며 애드센스 광고 코드 삽입을 위해 AD Insert를, 글을 작성할 때 사용하는 편집기로는 구텐베르크 편집기, 댓글에 답글이 달렸을 때 댓글 작성자에게 메일로 알려주기 위해 WP 메일 SMTP와 Comment Reply Email Notification 플러그인을, 메인페이지의 사이드바에 최근글 위젯 표시를 위해 Recent Posts Widget With Thumnails를, 사이드바에 코멘트 위젯 표시를 위해 Comments Wiget Plus를 설치하여 사용 중 입니다.

보안을 위해 사용하는 워드프레스 플러그인

그리고 가장 중요한 플러그인 중 하나인 WPS Hide Login 을 적용했습니다. 이 플러그인은 보안을 위해 사용하는 것인데 워드프레스의 관리자 로그인 URL을 아무도 모르는 주소로 변경해주는 플러그인 입니다. 해커들은 워드프레스의 기본 로그인 주소를 알고 있습니다. 이 주소를 해커들이 알지 못하는 다른 주소로 변경하지 않을 경우 해커들은 끊임 없이 반복되는 로그인 시도를 통해 비밀번호를 추측해낼 수 있습니다.

또는 개인의 노트북이나 스마트폰을 통해 비밀번호를 알아낼 수도 있습니다. 이렇게 해커에게 비밀번호가 넘어가더라도 로그인 페이지의 주소를 바꿔뒀다면 해커에게 당하지 않을 수도 있습니다.

보안은 100번 강조해도 부족함이 없습니다.

댓글 필터링 설정 키워드

참고로 댓글 필터링을 위해 플러그인을 사용하지는 않습니다. 다음과 같이 댓글이 달리는 주요 도메인과 댓글내에 포함되는 키워드를 설정해 스팸 댓글이 달리면 자동으로 휴지통으로 가도록하거나 대기 상태로 있게 합니다.

블로그를 티스토리에서 독립 서버로 이사한 뒤 마치 “작은 쪽배 하나 타고 망망대해를 항해하는 느낌” 입니다. 아마도 거대 플랫폼에서 기본으로 제공되는 성능, 장애 등의 이슈처리와 백업 등의 서비스가 사라졌으므로 직접 스스로 해당 업무를 처리해야 하기 때문이 아닐까 싶습니다.

어쨌든 이제 제 블로그(https://blogger.pe.kr)는 카카오의 거대 블로그 플랫폼을 떠나 오라클 클라우드에 위치한 가상 서버의 워드프레스에서 운영되고 있습니다.

— 2023년 9월 9일 (토) 오후 6시 15분에…

“블로그 소개 (오라클 클라우드의 무료 서버 2대로 구성한 워드프레스 블로그 )”의 2개의 댓글

  1. 오라클 클라우드는 트래픽 제한이 없나요?
    그리고 저장 용량이 45GB 라는거죠? 그렇게 했을때 용량 확장이 가능한가요?

    구글블로그를 하고 있는데 평생 무료라고 하나 관심이 가네요

    1. 트래픽 제한이 없지는 않습니다.
      Outbound 트래픽을 월/10TB 지원합니다. 이 정도면 웬만한 이미지 많고 접속자 많은 블로그도 운영가능하지 않을까요? (계산해 보진 않았습니다.)
      그리고 VM2대 외에 합계 200GB 내에서 블록스토리지 2개를 만들어 서버에 연결할 수 있고 2대의 45GB 스토리지를 가진 서버간에 NFS를 통해 스토리지를 공유하는 것도 가능합니다.
      그외에도 오라클 DBMS도 무료로 사용할 수 있고 NoSQL DB도 사용할 수 있습니다.
      일단 평생 무료라고는 하는데.. 언제까지 이 정책이 유지될지는 모르겠네요.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Scroll to Top