Jak skonfigurować szybkie ładowanie witryn WordPress na DigitalOcean?

Uruchom witryny WordPress (WP) na DigitalOcean (DO) w mniej niż 10 minut.

Nowicjusze blogerzy lub właściciele witryn często pytają, jak przyspieszyć ładowanie witryny na współdzielonym hostingu i znają ograniczenia. A po kilku chwilach frustracji chcą przejść z hostingu współdzielonego na hosting w chmurze.

Jedną z pierwszych platform hostingowych w chmurze, która przychodzi na myśl, jest DigitalOcean.

DO doskonale nadaje się do rozpoczęcia; jest tańszy niż AWS i GCP, skalowalny, szybki i oferuje wszystkie funkcje, których możesz oczekiwać.

Jednak skonfigurowanie witryny jest trudne, jeśli nie znasz zadań związanych z administrowaniem systemem. DAJ Ci system operacyjny i wszystko, czego potrzebujesz, aby zadbać o siebie. Możesz również zdecydować się na Cloudways hosting i skonfiguruj serwer WWW DigitalOcean za pomocą kilku kliknięć, jeśli nie chcesz wchodzić w te wszystkie techniczne aspekty konfiguracji serwera. Oferują również kropelki Digitalocean Premium.

Po otrzymaniu wielu pytań przez e-mail o tym, jak skonfigurować witrynę WP na DO, pomyślałem o przygotowaniu procedury dla szerszej publiczności, aby uzyskać korzyści.

Przed przystąpieniem do implementacji technicznej pamiętaj, że DO nie jest rejestratorem domen. Co oznacza, że ​​nie możesz od nich kupić domeny. Zakładam, że masz już domenę, a jeśli nie chcesz i chcesz uzyskać nową, kup od Namecheap.

Zacznijmy to…

Istnieje wiele sposobów na skonfigurowanie WordPressa, ale jednym z najłatwiejszych, jakie znalazłem, jest użycie EasyEngine. W tym samouczku użyjemy EasyEngine, aby zainstalować całe niezbędne oprogramowanie i utworzyć witrynę WP.

Zdobycie serwera DigitalOcean

DO posiada centra danych w wielu lokalizacjach na całym świecie. Wybierz bliżej swoich odbiorców.

  • Zaloguj się (zarejestruj się, jeśli nie masz jeszcze konta) do DigitalOcean
  • Utwórz nowy droplet i wybierz Ubuntu 18.x jako system operacyjny
  • Wybierz plan droplet w oparciu o wymagania, ale jeśli zaczynasz do tego czasu, 2 GB lub 3 GB pamięci RAM powinny być w porządku
  • Wybierz monitorowanie jako dodatkową opcję
  • Podaj nazwę hosta i kliknij Utwórz

Zajmie to około minuty i powinieneś zobaczyć tam nowo utworzony serwer.

DO wyśle ​​poświadczenia serwera na zarejestrowany adres e-mail.

  • Zaloguj się do serwera za pomocą podanego poświadczenia i adresu IP za pomocą klienta SSH

Przy pierwszym logowaniu zostaniesz poproszony o zmianę hasła. To jest oczekiwane i zalecane, aby zmienić hasło na złożone.

Instalowanie EasyEngine

Gdy serwer jest gotowy, nadszedł czas, aby zainstalować EasyEngine (EE). EE to świetny skrypt automatyzacji, który pomaga tworzyć wiele rodzajów witryn za pomocą prostego polecenia. Dobrą rzeczą w EE jest to, że nie musisz się martwić konfiguracją poszczególnych komponentów, takich jak Nginx, MariaDB, Redis, PHP itp. Wszystko jest obsługiwane w tle i jest całkowicie BEZPŁATNE!

Najnowsza wersja EE wykorzystuje Docker, ale znowu nie musisz o nich wiedzieć. EE jest gotowy do produkcji i lubiany przez tysiące witryn o dużym natężeniu ruchu.

Pokażę Ci, jak łatwo jest korzystać z EasyEngine. Zakładam, że nadal jesteś zalogowany na serwerze DigitalOcean.

  • Zaktualizujmy, wykonując poniższe polecenie
apt-get update
  • I zainstaluj EE za pomocą następującego polecenia
wget -qO ee rt.cx/ee4 && sudo bash ee

Zainstalowanie niezbędnego oprogramowania w tle i po zakończeniu zajmie kilka minut, a pojawi się monit.

Status: Downloaded newer image for easyengine/redis:v4.0.0
+-------------------+----------------------------------------------------------------------------+
| OS                | Linux 4.15.0-45-generic #48-Ubuntu SMP Tue Jan 29 16:28:13 UTC 2019 x86_64 |
| Shell             | /bin/bash                                                                  |
| PHP binary        | /usr/bin/php7.2                                                            |
| PHP version       | 7.2.15-1+ubuntu18.04.1+deb.sury.org+1                                      |
| php.ini used      | /etc/php/7.2/cli/php.ini                                                   |
| EE root dir       | phar://ee.phar                                                             |
| EE vendor dir     | phar://ee.phar/vendor                                                      |
| EE phar path      | /root                                                                      |
| EE packages dir   |                                                                            |
| EE global config  |                                                                            |
| EE project config |                                                                            |
| EE version        | 4.0.10                                                                     |
+-------------------+----------------------------------------------------------------------------+
-----> Run "ee help site" for more information on how to create a site.
[email protected]:~#

Oznacza to, że EasyEngine jest zainstalowany i gotowy do użycia.

Tworzenie witryny WordPress

EE ma opcję stworzenia witryny WordPress z pamięcią podręczną Redis, która działa lepiej. Używam Redisa na newsblog.pl i jestem z niego zadowolony, więc polecam spróbować.

Stwórzmy witrynę WP w domenie z pamięcią podręczną Redis.

ee site create geekflarelab.com --type=wp --cache

Powyżej używam polecenia ee, aby utworzyć witrynę z nazwą domeny geekflarelab.com i wpisuję jako WordPress z opcją buforowania.

Zajmie to kilka sekund i powinieneś zobaczyć pomyślny komunikat podobny do poniższego.

Configuring project.
Creating WordPress site geekflarelab.com
Copying configuration files.
Starting site's services.
Downloading and configuring WordPress.
Moved /var/www/htdocs/wp-config.php to /var/www/wp-config.php successfully
Success: Host entry successfully added.
Checking and verifying site-up status. This may take some time.

Installing WordPress site.
Success: http://geekflarelab.com has been created successfully!
Site entry created.
Creating cron entry
Success: Cron created successfully
+--------------------+----------------------------------------+
| Site               | http://geekflarelab.com                |
+--------------------+----------------------------------------+
| Site Root          | /opt/easyengine/sites/geekflarelab.com |
+--------------------+----------------------------------------+
| Site Title         | geekflarelab.com                       |
+--------------------+----------------------------------------+
| WordPress Username | inspiring-galois                       |
+--------------------+----------------------------------------+
| WordPress Password | xxxxxxxxxxxx                           |
+--------------------+----------------------------------------+
| DB Host            | global-db                              |
+--------------------+----------------------------------------+
| DB Name            | geekflarelab_com                       |
+--------------------+----------------------------------------+
| DB User            | geekflarelab.com-DRf3pP                |
+--------------------+----------------------------------------+
| DB Password        | xxxxxxxxxxxx                           |
+--------------------+----------------------------------------+
| E-Mail             | [email protected]                 |
+--------------------+----------------------------------------+
| SSL                | Not Enabled                            |
+--------------------+----------------------------------------+
| Cache              | Enabled                                |
+--------------------+----------------------------------------+
[email protected]:~#

Świetnie, więc powstała moja strona WP. EasyEngine dba o Nginx, bazę danych, optymalizację PHP, więc nie musisz wprowadzać żadnych zmian

Czas to przetestować.

Czy myślisz, że zadziała, kiedy trafię na geekflarelab.com?

Nie!

Muszę zaktualizować rekord A domeny, aby wskazywał na adres IP serwera DigitalOcean.

  • Zaloguj się do konsoli rejestratora domen i zaktualizuj rekord A.

Teraz mam dostęp do geekflarelab.com

Widzisz, w ciągu kilku minut mam WP uruchomiony na serwerze DO w chmurze.

Wolałbym również robić następujące rzeczy.

Zmiana portu SSH

Domyślnie port SSH to 22 i wszyscy wiedzą. Pomaga to atakującemu wykonać atak typu brute force, a jeśli hasło do serwera jest słabe, serwer może zostać zhakowany. Zmiana domyślnego portu na inny byłaby szybką wygraną.

W poniższym artykule wyjaśniłem, jak zmienić port SSH.

https://wdzzwdz.com/cloud-vm-security-guide/#1-Zmieniam-domyślny-port SSH

Wdrażanie certyfikatu SSL/TLS

Musisz mieć swoją witrynę przez HTTPS, a dobrą rzeczą jest to, że możesz ją pobrać za darmo. Jeśli nie chcesz wchodzić w długą implementację techniczną, polecam wypróbowanie Cloudflare.

Cloudflare oferuje BEZPŁATNY SSL wraz z innymi zaletami wydajności i bezpieczeństwa.

Zabezpieczanie WordPressa

Nie zostawiaj WordPressa niezabezpieczonego.

Dostępnych jest wiele wtyczek, ale jeśli pozwala na to budżet, wybierz rozwiązanie premium. Możesz wybrać opcję Cloudflare Plan PRO lub SUCURI. Oba oferują wszechstronne funkcje wydajności i bezpieczeństwa, w tym BEZPŁATNY certyfikat SSL, zapobieganie atakom DDoS, łagodzenie 10 najpopularniejszych luk OWASP itp.

Jak szybka jest strona DigitalOcean WP?

Cóż, trudno to uogólniać, ponieważ każda witryna jest wyjątkowa. Ale, żeby dać ci pomysł, zrobiłem kilka testów obciążeniowych i oto wynik.

Zainstalowałem Motyw Authority Pro przez StudioPress i umieść kilka fikcyjnych postów do przetestowania za pomocą Blazemeter.

Całkiem niesamowite. Prawda?

Jak widać, test został przeprowadzony na 50 użytkownikach przez 5 minut z północnej Kalifornii, a wynik jest rewelacyjny.

  • Średni czas odpowiedzi – 351,19ms
  • Błąd – 0%

Wszystko poniżej 1 sekundy robi wrażenie.

Wniosek

Jeśli korzystasz z hostingu współdzielonego i chcesz przenieść się do chmury i chcesz poświęcić czas na konfigurację, DigitalOcean będzie dobrym wyborem. Jeśli jednak nie masz czasu i umiejętności zarządzania sobą, polecam przyjrzeć się Kinsta.

Kinsta to wysokiej jakości zarządzana platforma hostingowa WP, która wykorzystuje platformę Google Cloud, aby zapewnić najlepszą wydajność i bezpieczeństwo.