Detaljan vodič kako pokrenuti WordPress sajt visokih performansi na Google Cloud Platformi (GCP) koristeći WordOps.
Na početku blogerske karijere ili vođenja malog biznisa, deljeni hosting je prihvatljiv jer je jeftiniji i ne zahteva posebne veštine za instalaciju, konfiguraciju ili održavanje infrastrukture.
Međutim, kako saobraćaj ili broj korisnika raste, potrebna vam je robusnija hosting platforma koja može da opsluži veliki broj posetilaca bez usporavanja sajta.
Postoje vrhunski hosting provajderi za sajtove sa visokim prometom, ali njihove usluge mogu lako koštati više od 100 USD mesečno.
Napomena: Kinsta je nedavno predstavila početni plan koji kreće od 30 USD mesečno i koristi GCP.
Ako ste spremni da posvetite malo vremena učenju i samostalnom podešavanju, možete razmisliti o VPS/Cloud serverima. Ovaj članak će objasniti kako pokrenuti WordPress sajt na Google Cloud platformi za manje od 15 minuta.
Ovo podešavanje bi trebalo da košta oko 25 dolara mesečno i biće sposobno da podrži oko 500.000 pregleda stranica mesečno. Nakon konfiguracije, testiraćemo performanse sajta pod opterećenjem.
Preduslovi
- Pretpostavlja se da već imate domen; ako nemate, možete ga kupiti od Namecheap-a ili Google-a.
- Google Cloud nalog sa aktiviranom naplatom.
- Nekoliko WordPress tema, mada ću ja koristiti Newspaper by TagDiv.
Kreiranje novog Google Cloud servera
- Prijavite se na Google Cloud i idite na Compute Engine >> VM Instances (direktna veza)
- Kliknite na „Create Instance“ i unesite potrebne informacije.
- Odaberite zonu (izaberite lokaciju koja je najbliža vašoj ciljnoj publici).
- Odaberite tip mašine.
- Promenite boot disk na Ubuntu 18.04 LTS i tip diska na SSD Persistent Disk od 10 GB.
- Dozvolite HTTP i HTTPS firewall i kliknite na Kreiraj.
Nakon nekoliko sekundi imaćete spremnu novu instancu.
Instalacija WordPress-a koristeći WordOps
Postoji nekoliko načina za instaliranje WordPress-a, a jedan od najlakših je korišćenje WordOps-a.
WordOps je skripta koja se brine o instalaciji neophodnih komponenti kao što su baza podataka, PHP-FPM, Nginx, WordPress, Redis, phpMyAdmin, itd. Ručna instalacija može oduzeti više vremena i ostavlja prostor za greške.
- Prijavite se na novokreiranu Google Cloud VM i pređite na root korisnika.
Napomena: Preporučuje se da podesite sudo pristup root-u sa regularnog korisnika u produkciji, ali u ovom uputstvu koristićemo root.
- Instalirajte WordOps pomoću komande ispod:
wget -qO wo wops.cc && sudo bash wo
- Ovaj proces može potrajati minut ili dva. Kada se završi, vratićete se na komandnu liniju.
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/ root@:~#
Sada je vreme za kreiranje WordPress sajta. WordOps vam daje mogućnost da instalirate WordPress sa dodacima za keširanje.
Trenutno podržava WP Super, W3 Total, Nginx, i Redis. Probao sam sve i Redis se uvek pokazao kao najbolji izbor za mene.
- Hajde da kreiramo sajt sa Redis keš memorijom.
wo site create geekflarelab.com --wpredis
Gornjom komandom zahtevamo od WordOps-a da kreira sajt za geekflarelab.com (to je moj testni domen) sa Redis keš memorijom. Proces traje minut ili dva i na kraju dobijete potvrdu o kreiranju sajta.
root@:~# 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 root@:~#
- Sačuvajte lozinku na sigurnom mestu.
WordPress je uspešno instaliran i sada je potrebno usmeriti domen ka IP adresi servera. To je vrlo lako, zar ne?
Dobijanje statičke IP adrese
Google Cloud po defaultu dodeljuje prolaznu IP adresu instanci, koju ne želite da koristite za konfiguraciju domena, jer se ona može promeniti nakon sledećeg ponovnog pokretanja instance.
Da bismo izbegli taj rizik, rezervisacemo statičku IP adresu.
- Idite na VPC Network >> External IP Addresses sa leve strane navigacije.
- U padajućem meniju promenite tip iz Ephemeral u Static.
- Dajte ime i kliknite na RESERVE.
- Primetićete da se tip promenio u Static.
GCP VM je sada spreman sa statičkom spoljnom IP adresom i WordPress-om, a poslednji korak je mapiranje domena na statičku IP adresu.
Ažuriranje A zapisa domena
- Idite do registratora domena.
- Ažurirajte A zapis za vaš domen tako da pokazuje na spoljnu IP adresu koju ste upravo rezervisali.
Može proći neko vreme dok se promena ne propagira globalno. Možete koristiti DNS lookup alat da proverite status.
Kada se A zapis domena ažurira, možete pristupiti WordPress sajtu sa domenom koji ste koristili u WordOps komandi. U mom slučaju – http://geekflarelab.com
Testiranje opterećenja
Da vidimo kako se ponaša novopodešeni WordPress sajt na Google Cloud Platformi. Pre testiranja brzine, instaliraću TagDiv temu kao što je ranije pomenuto.
Ovo nije neophodno, ali želim da imam nekoliko postova/medijskih fajlova kako bih simulirao realne uslove.
Kao što vidite, geekflarelab.com je sada spreman za GCP.
Postoji više načina za testiranje performansi, a jedan od najlakših je korišćenje alata iz oblaka. Koristio sam Loader.io da simuliram opterećenje od 100 do 500 korisnika u trajanju od jednog minuta, a rezultati su:
Prosečno vreme odgovora = 695 ms
Znam da je ovo osnovno podešavanje WordPress-a i da zahteva instalaciju dodatnih dodataka, dodavanje sigurnosti, SSL sertifikat itd., da bi bilo spremno za produkciju. Međutim, to bi neznatno povećalo vreme učitavanja.
Zaključak
Nadam se da vam je ovo dalo predstavu o tome kako da podesite WordPress na Google Cloud Platformi. Ovo zahteva određeno vreme i veštine, ali ako želite da uštedite novac mesečno, verujem da se isplati.
Alternativno, ako nemate vremena za podešavanje ili upravljanje WordPress-om, a želite da uživate u prednostima Google Cloud-a, možete probati Cloudways upravljanu hosting platformu.