Jak nastavit rychle se načítající web WordPress na Google Cloud?

Detailní návod, jak rozběhnout výkonný web na WordPressu pomocí Google Cloud Platform (GCP) a nástroje WordOps.

Pro začínající blogery nebo malé firmy je sdílený hosting často dostačující. Je cenově výhodnější a nevyžaduje pokročilé znalosti správy serverové infrastruktury.

Nicméně, s rostoucí návštěvností a počtem uživatelů, je potřeba robustnější hostingové řešení, které zvládne miliony zákazníků bez zpomalení stránek.

Existuje sice několik prémiových poskytovatelů pro weby s vysokou návštěvností, ale jejich služby mohou snadno stát i 100 dolarů měsíčně a více.

Poznámka: Společnost Kinsta nedávno představila startovací plán od 30 dolarů měsíčně, který využívá právě GCP.

Pokud ale investujete čas do učení a pustíte se do toho sami, můžete zvážit využití VPS/cloud serverů. V tomto článku si ukážeme, jak zprovoznit web na WordPressu na Google Cloud Platform do 15 minut.

Toto nastavení vás bude stát přibližně 25 dolarů měsíčně a mělo by být schopné obsloužit 500 000 zobrazení stránek za měsíc. Po nastavení provedeme i zátěžový test pro ověření výkonu.

Požadavky

  • Předpokládám, že již máte doménu; pokud ne, můžete si ji zakoupit například u Namecheap nebo Google.
  • Účet Google Cloud s aktivovanou fakturací.
  • Nějakou šablonu pro WordPress, já budu používat Newspaper od TagDiv.

Zprovoznění nového serveru Google Cloud

  • Přihlaste se do Google Cloud a přejděte do sekce Compute Engine >> Instance VM (přímý odkaz).
  • Klikněte na „Vytvořit instanci“ a vyplňte požadované údaje.
  • Vyberte zónu (doporučuje se zvolit umístění co nejblíže vašemu cílovému publiku).
  • Zvolte typ stroje.
  • Změňte spouštěcí disk na Ubuntu 18.04 LTS a typ disku na trvalý SSD disk o velikosti 10 GB.
  • Povolte firewall pro HTTP a HTTPS a klikněte na „Vytvořit“.

Za pár okamžiků budete mít novou instanci připravenou k použití.

Instalace WordPressu pomocí WordOps

Existuje několik způsobů, jak nainstalovat WordPress, ale jeden z nejjednodušších je pomocí nástroje WordOps.

WordOps je skriptovací nadstavba, která automatizuje instalaci potřebných komponent, jako je databáze, PHP-FPM, Nginx, WordPress, Redis, phpMyAdmin a další. Ruční instalace by byla časově náročnější a náchylnější k chybám.

  • Připojte se k nově vytvořenému virtuálnímu stroji Google Cloud a přepněte se do uživatele root.

Poznámka: V produkčním prostředí se doporučuje nastavit sudo přístup k root z běžného uživatele, ale v tomto tutoriálu budeme používat přímo root.

  • Nainstalujte WordOps pomocí následujícího příkazu:
wget -qO wo wops.cc && sudo bash wo
  • Instalace zabere chvilku, po dokončení se vrátíte do příkazové řádky.
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]:~#

Nyní je čas vytvořit váš web na WordPressu. WordOps vám nabízí možnost instalace WordPressu s pluginem pro cachování.

Aktuálně podporuje WP Super Cache, W3 Total Cache, Nginx Cache a Redis. Já jsem otestoval všechny a Redis mi vždy přišel nejlepší.

  • Vytvořme tedy web s Redis cache.
wo site create geekflarelab.com --wpredis

Výše uvedený příkaz říká WordOps, aby vytvořil web pro geekflarelab.com (jedná se o mou testovací doménu) s Redis cachováním. Proces trvá chvilku a po dokončení obdržíte potvrzení o vytvoření webu.

[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]:~#
  • Heslo si bezpečně uložte.

WordPress byl úspěšně nainstalován a nyní je čas nasměrovat doménu na IP adresu serveru. Bylo to jednoduché, že?

Získání statické IP adresy

Standardně Google Cloud přiděluje instanci dočasnou IP adresu, kterou nechcete používat pro doménu, protože se může změnit při restartování instance.

Abychom se vyhnuli tomuto problému, rezervujeme si statickou IP adresu.

  • V levém menu přejděte do VPC Network >> Externí IP adresy.
  • V rozbalovací nabídce pro „Typ“ vyberte „Statická“.

  • Zadejte název a klikněte na „REZERVOVAT“.
  • Měli byste vidět, že se typ změnil na „Statická“.

Nyní je váš GCP VM připraven se statickou externí IP adresou a s WordPressem. Zbývá už jen nasměrovat vaši doménu na tuto statickou IP adresu.

Aktualizace A záznamu domény

  • Přejděte do administrace vašeho registrátora domény.
  • Aktualizujte A záznam vaší domény tak, aby směřoval na externí IP adresu, kterou jste si právě rezervovali.

Globální šíření DNS záznamu může chvíli trvat. Pro ověření můžete použít nástroj pro vyhledávání DNS záznamů.

Jakmile je A záznam domény aktualizován, můžete přistupovat na váš WordPress web pomocí domény, kterou jste použili v příkazu WordOps. V mém případě – http://geekflarelab.com.

Provedení zátěžového testu

Pojďme se podívat, jak si vede nově vytvořený web WordPress na Google Cloud Platform. Před testováním rychlosti nainstaluji šablonu od TagDiv, jak bylo zmíněno dříve.

Není to sice nutné, ale chci mít na webu nějaký obsah a mediální soubory, abych nasimuloval reálný scénář.

Jak vidíte, geekflarelab.com je připravený na GCP.

Existuje několik způsobů, jak provádět zátěžové testy, a jeden z nejjednodušších je provést ho z cloudu. Použil jsem Loader.io pro simulaci 100 až 500 uživatelů po dobu jedné minuty a výsledky jsou následující:

Průměrná doba odezvy = 695 ms

Vím, že se jedná o základní nastavení WordPressu a je třeba nainstalovat další pluginy, přidat zabezpečení, SSL certifikát atd. pro produkční prostředí. Nicméně toto by mělo prodloužit dobu načítání jen o pár procent.

Závěr

Doufám, že vám tento návod poskytl představu, jak nastavit WordPress na Google Cloud Platform. Vyžaduje to sice trochu času a technických dovedností, ale pokud chcete ušetřit peníze, věřím, že se to vyplatí.

Pokud ale nemáte čas na konfiguraci a správu WordPressu a zároveň chcete využívat Google Cloud, můžete zkusit Cloudways spravovanou hostingovou platformu.