Google Cloud에서 빠른 로딩 WordPress 사이트를 설정하는 방법은 무엇입니까?

Google Cloud Platform에서 WordOps를 활용한 고성능 워드프레스 사이트 구축 가이드

개인 블로그를 운영하거나 중소기업을 위한 웹사이트를 만들 때, 초기 단계에서는 공유 호스팅이 매력적일 수 있습니다. 이는 비용 효율적이며, 복잡한 인프라 설정이나 유지 관리에 대한 전문 지식이 필요하지 않기 때문입니다.

하지만 웹사이트 트래픽이나 사용자 수가 증가함에 따라, 수많은 사용자를 처리하면서도 사이트 속도를 유지할 수 있는 강력한 호스팅 플랫폼이 필요하게 됩니다.

트래픽이 많은 웹사이트를 위한 프리미엄 호스팅 옵션들이 존재하지만, 일반적으로 월 100달러 이상의 비용이 발생합니다.

참고: 최근 킨스타는 Google Cloud Platform을 기반으로 월 30달러부터 시작하는 새로운 스타터 요금제를 출시했습니다.

만약 학습에 시간을 투자할 의향이 있다면 VPS(가상 사설 서버)나 클라우드 서버를 고려해 볼 수 있습니다. 이 글에서는 Google Cloud Platform에서 15분 안에 워드프레스 사이트를 구축하는 방법을 안내합니다.

이러한 설정은 월 약 25달러의 비용이 발생하며, 월 50만 페이지뷰를 처리할 수 있는 성능을 제공합니다. 구축 후 성능을 확인하기 위해 부하 테스트도 진행할 것입니다.

필수 조건

  • 이미 등록된 도메인이 있어야 합니다. 만약 없다면 Namecheap이나 Google에서 구매할 수 있습니다.
  • 결제 수단이 등록된 Google 클라우드 계정이 필요합니다.
  • 워드프레스 테마가 필요하며, 여기서는 태그디브 신문 테마를 사용할 것입니다.

새 Google Cloud 서버 생성

  • Google Cloud에 로그인 후, Compute Engine >> VM 인스턴스 (바로가기)로 이동합니다.
  • “인스턴스 생성” 버튼을 클릭하고 필요한 정보를 입력합니다.
  • 가장 가까운 위치를 선택하여 영역을 설정합니다.
  • 머신 유형을 선택합니다.
  • 부팅 디스크를 Ubuntu 18.04 LTS로 변경하고, 부팅 디스크 유형을 10GB 크기의 SSD 영구 디스크로 설정합니다.
  • HTTP 및 HTTPS 트래픽을 허용하도록 방화벽을 설정하고 “만들기”를 클릭합니다.

새로운 인스턴스는 몇 초 내에 준비됩니다.

WordOps를 사용한 워드프레스 설치

워드프레스를 설치하는 방법은 다양하지만, 가장 간단한 방법 중 하나는 WordOps를 사용하는 것입니다.

WordOps는 데이터베이스, PHP-FPM, Nginx, WordPress, Redis, phpMyAdmin 등 필수 구성 요소 설치를 자동화하는 스크립트입니다. 수동으로 설치하는 것보다 훨씬 빠르고 오류 가능성도 줄여줍니다.

  • 새롭게 생성된 Google Cloud VM에 로그인 후, 루트 사용자로 전환합니다.

참고: 실제 환경에서는 루트 사용자의 sudo 액세스를 설정하는 것이 권장되지만, 이 예시에서는 루트를 직접 사용합니다.

  • 다음 명령어를 사용하여 WordOps를 설치합니다.
wget -qO wo wops.cc && sudo bash wo
  • 설치에는 1~2분 정도 소요되며, 완료되면 프롬프트로 돌아옵니다.
Synchronizing wo database, please wait...
WordOps (wo) installed successfully

To enable bash-completion, just use the command:
bash -l

To install WordOps recommended stacks, you can use the command:
wo stack install

To create a first WordPress site, you can use the command:
wo site create site.tld --wp

WordOps Documentation : https://docs.wordops.net
WordOps Community Forum : https://community.wordops.net
WordOps Community Chat : https://chat.wordops.net

Give WordOps a GitHub star : https://github.com/WordOps/WordOps/

[email protected]:~#

이제 워드프레스 사이트를 생성할 차례입니다. WordOps는 캐싱 플러그인을 포함하여 워드프레스를 설치하는 옵션을 제공합니다.

현재 WP Super, W3 Total Cache, Nginx, Redis를 지원하며, 테스트 결과 Redis가 가장 뛰어난 성능을 보였습니다.

  • Redis 캐시를 사용하여 사이트를 만들어 봅시다.
wo site create geekflarelab.com --wpredis

위 명령어는 Redis 캐시를 사용하여 geekflarelab.com (예시 도메인) 사이트를 생성하도록 WordOps에 요청합니다. 완료에는 1~2분 정도 소요되며, 성공적으로 사이트가 생성되었음을 확인할 수 있습니다.

[email protected]:~# wo site create geekflarelab.com --wpredis
Start : wo-kernel [OK]
Adding repository for MySQL, please wait...
Adding repository for NGINX, please wait...
Adding repository for PHP, please wait...
Adding repository for Redis, please wait...
Updating apt-cache              [OK]
Installing APT packages         [OK]
Applying Nginx configuration templates
Testing Nginx configuration     [OK]
Restarting Nginx                [OK]
Testing Nginx configuration     [OK]
Restarting Nginx                [OK]
Configuring php7.2-fpm
Restarting php7.2-fpm           [OK]
Tuning MariaDB configuration
Stop  : mysql     [OK]
Start : mysql     [OK]
Tuning Redis configuration      [OK]
Restarting redis-server         [OK]
Running pre-update checks       [OK]
Setting up NGINX configuration 	[Done]
Setting up webroot 		[Done]
Downloading WordPress 		[Done]
Setting up database		[Done]
Configuring WordPress           [OK]
Installing WordPress            [OK]
Installing plugin nginx-helper  [OK]
Setting plugin nginx-helper     [OK]
Installing plugin redis-cache   [OK]
Testing Nginx configuration     [OK]
Reloading Nginx                 [OK]
HTTP Auth User Name: WordOps
HTTP Auth Password : XXXXXX
WordOps backend is available on https://XX.XX.XX.XX:22222 or https://ubuntu-s-1vcpu-2gb-lon1-01:22222
WordPress admin user : Chandan Kumar
WordPress admin password : lyWwnfOhD8XXXXXXNTS3vXri
Configure redis-cache:	http://geekflarelab.com/wp-admin/options-general.php?page=redis-cache
Object Cache:		Enable
Successfully created site http://geekflarelab.com
[email protected]:~#
  • 비밀번호를 안전하게 보관하십시오.

워드프레스 설치가 완료되었습니다. 이제 도메인을 서버 IP 주소로 연결해야 합니다.

고정 IP 주소 확보

기본적으로 GCP는 인스턴스 재시작 시 변경될 수 있는 임시 IP 주소를 할당합니다. 따라서, 도메인 연결에 문제가 발생하지 않도록 고정 IP 주소를 예약하는 것이 좋습니다.

  • 좌측 메뉴에서 “VPC 네트워크” >> “외부 IP 주소”로 이동합니다.
  • “임시” 유형 드롭다운 메뉴에서 “고정”을 선택합니다.

  • 적절한 이름을 지정하고 “예약”을 클릭합니다.
  • 타입이 “고정”으로 변경된 것을 확인합니다.

GCP VM은 고정 외부 IP 주소와 워드프레스를 갖추게 되었습니다. 이제 도메인을 고정 IP 주소에 매핑하는 마지막 단계가 남았습니다.

도메인 A 레코드 업데이트

  • 도메인 등록 기관 웹사이트로 이동합니다.
  • 도메인의 A 레코드를 방금 예약한 고정 외부 IP 주소로 업데이트합니다.

DNS 레코드가 전 세계적으로 전파되려면 시간이 걸릴 수 있습니다. DNS 레코드 조회 도구를 사용하여 확인할 수 있습니다.

도메인 A 레코드가 업데이트되면, WordOps 명령과 함께 사용한 도메인으로 워드프레스 사이트에 접속할 수 있습니다. 예시에서는 http://geekflarelab.com 입니다.

부하 테스트 실시

Google Cloud Platform에 새로 설정된 워드프레스 사이트의 성능을 확인해 보겠습니다. 속도 테스트를 진행하기 전에, 태그디브 테마를 설치합니다.

이는 필수적인 단계는 아니지만, 실제 사이트 환경을 시뮬레이션하기 위해 일부 게시물과 미디어 파일이 있는지 확인하기 위한 것입니다.

보시는 바와 같이 geekflarelab.com이 GCP에서 정상적으로 구동됩니다.

벤치마킹 방법은 여러 가지가 있지만, 가장 간단한 방법 중 하나는 클라우드 기반 서비스를 사용하는 것입니다. Loader.io를 사용하여 1분 동안 100명에서 500명의 사용자를 시뮬레이션했을 때, 다음과 같은 결과를 얻었습니다.

평균 응답 시간: 695ms

이것은 기본적인 워드프레스 설정이며, 추가적인 보안 플러그인 및 프로덕션 환경을 위한 SSL 인증서 설치가 필요하다는 점을 인지해야 합니다. 이러한 요소는 로딩 시간에 약간의 영향을 줄 수 있습니다.

결론

이 글이 Google Cloud Platform에서 워드프레스를 설정하는 데 도움이 되었기를 바랍니다. 이 방법은 설정하는 데 약간의 시간과 기술이 필요하지만, 매달 지불하는 호스팅 비용을 절약하고자 한다면 충분히 가치가 있습니다.

만약 워드프레스 설정 및 관리에 시간을 투자하고 싶지 않지만 Google Cloud 플랫폼을 이용하고 싶다면, Cloudways 매니지드 호스팅 플랫폼을 고려해 볼 수도 있습니다.