Jak skonfigurować szybko ładującą się witrynę WordPress w Google Cloud?

Szczegółowy przewodnik, jak wdrożyć szybką witrynę WordPress na platformie Google Cloud Platform (GCP) przy użyciu narzędzia WordOps.

Na początku swojej przygody z blogowaniem lub prowadzeniem małej firmy, hosting współdzielony może być odpowiedni ze względu na niższe koszty i brak konieczności posiadania specjalistycznych umiejętności do instalacji, konfiguracji oraz utrzymania infrastruktury hostingowej.

Jednak w miarę wzrostu ruchu na stronie lub liczby użytkowników, potrzebna staje się solidna platforma hostingowa, zdolna do obsługi dużego napływu odwiedzających bez negatywnego wpływu na szybkość działania witryny.

Chociaż istnieje kilku dostawców oferujących hosting premium dla stron o dużym obciążeniu, takie rozwiązania często wiążą się z wydatkiem przekraczającym 100 USD miesięcznie.

Warto wiedzieć: Kinsta niedawno wprowadziła plan startowy za 30 USD miesięcznie, który korzysta z infrastruktury GCP.

Jeśli jednak jesteś gotów poświęcić trochę czasu na naukę i samodzielną konfigurację, serwery VPS/Cloud mogą okazać się atrakcyjną opcją. W tym artykule przedstawimy, jak uruchomić witrynę WordPress na platformie Google Cloud Platform w czasie poniżej kwadransa.

Taka konfiguracja powinna kosztować około 25 USD miesięcznie i być w stanie obsłużyć do 500 000 odsłon w skali miesiąca. Po zakończeniu konfiguracji przeprowadzimy test obciążenia, aby zweryfikować wydajność.

Wymagania wstępne

  • Zakładamy, że posiadasz już zarejestrowaną domenę. Jeśli nie, możesz ją nabyć np. u Namecheap lub Google.
  • Aktywne konto Google Cloud z włączoną obsługą płatności.
  • Preferowany motyw WordPress. W naszym przykładzie użyjemy motywu Gazeta Tag div.

Konfiguracja nowego serwera Google Cloud

  • Zaloguj się na swoje konto Google Cloud i przejdź do sekcji Compute Engine >> Instancje maszyn wirtualnych (bezpośredni link).
  • Kliknij przycisk „Utwórz instancję” i wypełnij wymagane pola.
  • Wybierz strefę (najlepiej lokalizację zbliżoną do grupy docelowej twojej witryny).
  • Wybierz typ maszyny.
  • Zmień dysk rozruchowy na Ubuntu 18.04 LTS, a jako typ dysku rozruchowego wybierz dysk SSD o pojemności 10 GB.
  • Zezwól na ruch HTTP i HTTPS w zaporze sieciowej i kliknij „Utwórz”.

Po kilku sekundach nowa instancja będzie gotowa do użycia.

Instalacja WordPress za pomocą WordOps

Istnieje wiele metod instalacji WordPress, jednak jedną z najprostszych jest wykorzystanie narzędzia WordOps.

WordOps to rodzaj „nakładki” skryptowej, która automatyzuje instalację niezbędnych komponentów, takich jak baza danych, PHP-FPM, Nginx, WordPress, Redis, phpMyAdmin itp. Ręczna instalacja tych elementów może zająć więcej czasu i zwiększa ryzyko popełnienia błędu.

  • Zaloguj się do swojej nowo utworzonej maszyny wirtualnej Google Cloud i przełącz się na użytkownika root.

Uwaga: W środowisku produkcyjnym zaleca się skonfigurowanie dostępu sudo do roota z poziomu zwykłego użytkownika, ale w tym przykładzie użyjemy konta root.

  • Zainstaluj WordOps za pomocą poniższego polecenia:
wget -qO wo wops.cc && sudo bash wo
  • Instalacja zajmie kilka minut. Po jej zakończeniu powrócisz do wiersza poleceń.
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]:~#

Teraz możemy przystąpić do utworzenia nowej witryny WordPress. WordOps oferuje opcję instalacji WordPress z wtyczkami do buforowania.

Obecnie wspierane są WP Super, W3 Total, Nginx oraz Redis. Z własnego doświadczenia mogę powiedzieć, że Redis zawsze spisywał się najlepiej.

  • Utwórzmy witrynę z włączoną pamięcią podręczną Redis:
wo site create geekflarelab.com --wpredis

Powyższe polecenie instruuje WordOps, aby utworzył witrynę dla domeny geekflarelab.com (jest to domena testowa) z włączoną pamięcią podręczną Redis. Proces zajmie minutę lub dwie i otrzymasz potwierdzenie utworzenia witryny.

[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]:~#
  • Zapisz hasło w bezpiecznym miejscu.

WordPress został pomyślnie zainstalowany. Teraz musisz skierować swoją domenę na adres IP serwera. To było proste, prawda?

Uzyskiwanie statycznego adresu IP

Domyślnie Google Cloud przypisuje instancjom tzw. efemeryczny adres IP, którego nie powinno się używać w połączeniu z domeną, ponieważ może ulec zmianie przy następnym ponownym uruchomieniu instancji.

Aby uniknąć tego ryzyka, zarezerwujmy statyczny adres IP.

  • Przejdź do sekcji VPC Network >> Zewnętrzne adresy IP w panelu bocznym.
  • Rozwiń menu „Typ” dla adresu efemerycznego i wybierz „Statyczny”.

  • Wprowadź nazwę i kliknij przycisk „ZAREZERWUJ”.
  • Zauważysz, że typ adresu IP zmieni się na „Statyczny”.

Maszyna wirtualna GCP jest teraz gotowa, ma przypisany statyczny adres IP i zainstalowany WordPress. Ostatnim krokiem jest zmapowanie domeny na statyczny adres IP.

Aktualizacja rekordu A domeny

  • Przejdź do swojego rejestratora domen.
  • Zaktualizuj rekord A domeny, kierując go na statyczny zewnętrzny adres IP, który przed chwilą zarezerwowałeś.

Rozpropagowanie zmian może zająć trochę czasu. Możesz użyć narzędzia do sprawdzania rekordów DNS, aby zweryfikować, czy wszystko zostało poprawnie skonfigurowane.

Po zaktualizowaniu rekordu A domeny, powinieneś móc uzyskać dostęp do swojej witryny WordPress, używając domeny, którą podałeś w poleceniu WordOps. W naszym przykładzie będzie to http://geekflarelab.com.

Przeprowadzenie testu obciążenia

Sprawdźmy, jak działa nasza nowa witryna WordPress na Google Cloud Platform. Zanim przetestujemy prędkość, zainstaluję motyw Tagdiw, o którym wspominałem wcześniej.

Nie jest to konieczne, ale chcę mieć kilka wpisów i plików multimedialnych, aby zasymulować realistyczny scenariusz.

Jak widzisz, witryna geekflarelab.com jest już dostępna na platformie GCP.

Istnieje wiele sposobów przeprowadzania testów wydajności, a jednym z najprostszych jest użycie narzędzi do testowania obciążenia w chmurze. Wykorzystałem Loader.io, aby zasymulować ruch od 100 do 500 użytkowników w ciągu jednej minuty. Oto wyniki:

Średni czas odpowiedzi: 695 ms

Zdaję sobie sprawę, że jest to podstawowa konfiguracja WordPress. W środowisku produkcyjnym konieczne będzie zainstalowanie dodatkowych wtyczek, dodatkowe zabezpieczenia, certyfikat SSL itp., ale te elementy wpłyną na czas ładowania jedynie w niewielkim stopniu.

Podsumowanie

Mam nadzieję, że ten przewodnik pomógł Ci zrozumieć, jak skonfigurować WordPress na Google Cloud Platform. Wymaga to pewnego nakładu pracy i umiejętności, ale jeśli chcesz zaoszczędzić miesięczne wydatki, uważam, że jest to warte zachodu.

Alternatywnie, jeśli nie masz czasu na konfigurację i zarządzanie WordPress, ale wciąż chcesz korzystać z Google Cloud, możesz rozważyć platformę hostingową zarządzaną przez Cloudways.