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

Przewodnik krok po kroku dotyczący uruchamiania wydajnej witryny WordPress na Google Cloud Platform (GCP) przy użyciu WordOps.

Kiedy zaczynasz jako bloger lub prowadzisz małą firmę, hosting współdzielony jest w porządku, ponieważ kosztuje mniej, a do instalacji/konfiguracji/utrzymania platformy infrastruktury nie są wymagane żadne umiejętności hostingowe.

Jednak gdy zwiększy się ruch lub baza użytkowników, potrzebujesz solidnej platformy hostingowej, która obsłuży miliony klientów bez spowalniania witryny.

Istnieje kilku dostawców hostingu premium dla witryn o dużym natężeniu ruchu, ale to z łatwością kosztowałoby ponad 100 USD miesięcznie.

Notatka: Kinsta niedawno ogłosił plan startowy od 30 USD miesięcznie, który wykorzystuje GCP.

Jeśli jednak nie masz nic przeciwko spędzeniu trochę czasu na nauce i robieniu tego samemu, możesz pomyśleć o serwerach VPS/Cloud. W tym artykule wyjaśnimy, jak uruchomić witrynę WordPress na platformie Google Cloud Platform w mniej niż 15 minut.

Taka konfiguracja kosztowałaby około 25 USD miesięcznie i była gotowa obsłużyć 500 000 odsłon miesięcznie. Po konfiguracji zrobię test obciążenia, aby zweryfikować wydajność.

Warunek wstępny

  • Zakładam, że masz już domenę; jeśli nie, możesz kupić od Namecheap lub Google.
  • Konto Google w chmurze z włączonymi płatnościami
  • Niektóre motywy WordPress, ale użyję Gazeta Tag div.

Zapewnij nowy serwer Google Cloud

  • Zaloguj się do Google Cloud i przejdź do Compute Engine >> Instancje maszyn wirtualnych (link bezpośredni)
  • Kliknij „Utwórz instancję” i wprowadź wymagane informacje.
  • Wybierz strefę (wybierz najbliższą lokalizację grupy docelowej)
  • Wybierz typ maszyny.
  • Zmień dysk rozruchowy na Ubuntu 18.04 LTS i typ dysku rozruchowego na dysk stały SSD o rozmiarze 10 GB.
  • Zezwól na zaporę HTTP i HTTPS i kliknij Utwórz

Za kilka sekund nowa instancja będzie gotowa.

Instalowanie WordPressa za pomocą WordOps

Istnieje wiele sposobów na zainstalowanie WordPressa, ale jednym z najprostszych jest użycie WordOps.

WordOps to wrapper skryptów, który zajmuje się instalacją wymaganych komponentów, takich jak baza danych, PHP-FPM, Nginx, WordPress, Redis, phpMyAdmin itp. Jeśli zainstalujesz je ręcznie, może to potrwać dłużej i jest miejsce na błędy ludzkie.

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

Uwaga: zaleca się skonfigurowanie dostępu sudo do roota od zwykłego użytkownika w środowisku produkcyjnym, ale w tym ćwiczeniu użyję roota.

  • Zainstaluj WordOps za pomocą poniższego polecenia
wget -qO wo wops.cc && sudo bash wo
  • Zajmie to minutę lub dwie, a po zakończeniu wrócisz do monitu.
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 nadszedł czas na stworzenie witryny WordPress. WordOps daje ci opcję, jeśli chcesz zainstalować WordPress z wtyczkami do buforowania.

Obecnie obsługuje WP Super, W3 Total, Nginx, Redis. Próbowałem wszystkiego, a Redis zawsze działał dla mnie lepiej.

  • Stwórzmy witrynę z pamięcią podręczną Redis.
wo site create geekflarelab.com --wpredis

Powyżej proszę WordOps o utworzenie witryny dla geekflarelab.com (to moja domena laboratoryjna) z pamięcią podręczną Redis. Zajmie to minutę lub dwie, a 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 bezpieczny sposób.

WordPress został pomyślnie zainstalowany i nadszedł czas, aby wskazać swoją domenę na adres IP serwera. To było łatwe. Prawda?

Uzyskiwanie statycznego adresu IP

Domyślnie Google Cloud przypisuje efemeryczny adres IP do instancji, której nie chcesz konfigurować z domeną, ponieważ może się to zmienić przy następnym ponownym uruchomieniu instancji.

Aby uniknąć ryzyka, zarezerwujemy statyczny adres IP.

  • Przejdź do VPC Network >> Zewnętrzne adresy IP z lewego panelu nawigacyjnego.
  • Rozwiń Typ efemeryczny i wybierz statyczny

  • Podaj nazwę i kliknij ZAREZERWUJ.
  • Zauważysz, że typ zmieni się na statyczny.

Maszyna wirtualna GCP jest gotowa ze statycznym zewnętrznym adresem IP i WordPress, a ostatnią rzeczą do zrobienia jest zmapowanie domeny na statyczny adres IP.

Zaktualizuj rekord domeny A

  • Przejdź do rejestratora domen
  • Zaktualizuj rekord A swojej domeny do zewnętrznego adresu IP, który właśnie zarezerwowałeś

Rozpowszechnienie na całym świecie może zająć trochę czasu. Do weryfikacji możesz użyć narzędzia do wyszukiwania rekordów DNS.

Po zaktualizowaniu rekordu domeny A możesz uzyskać dostęp do witryny WordPress za pomocą domeny użytej z poleceniem WordOps. W moim przykładzie – http://geekflarelab.com

Wykonywanie testu obciążenia

Zobaczmy, jak działa nowo skonfigurowana witryna WordPress w Google Cloud Platform. Przed wykonaniem testu prędkości zainstaluję motyw przez Tagdiwjak wcześniej wspomniano.

Nie jest to konieczne, ale aby upewnić się, że mam kilka plików post/media do symulacji scenariusza rzeczywistego.

Jak widać, geekflarelab.com jest gotowy na GCP.

Istnieje wiele sposobów przeprowadzania testów porównawczych, a jednym z najprostszych jest wykonanie tego z chmury. Użyłem Loader.io do obciążenia od 100 do 500 użytkowników na jedną minutę, a wyniki są następujące:

Średni czas odpowiedzi = 695 ms

Wiem, że to podstawowa konfiguracja WordPressa i wymaga zainstalowania dodatkowych wtyczek, dodaj zabezpieczenia, certyfikat SSL itp. w środowisku produkcyjnym. Ale to wydłużyłoby czas ładowania o kilka procent.

Wniosek

Mam nadzieję, że dzięki temu dowiesz się, jak skonfigurować WordPress na Google Cloud Platform. Wymaga to trochę czasu na konfigurację i umiejętności, ale jeśli chcesz zaoszczędzić $$ miesięcznie, uważam, że warto.

Alternatywnie, jeśli nie masz czasu na konfigurację lub zarządzanie WordPress, a jednocześnie chcesz korzystać z Google Cloud, możesz spróbować Platforma hostingowa zarządzana przez Cloudways.