Vovich Masterovich
0
577
106

WordPress to najpopularniejszy CMS (system zarządzania treścią) używany obecnie w internecie. Chociaż wielu ludzi go używa, ponieważ jest potężny i prosty. Czasami ludzie robią kompromis dla wygody w zakresie ładowania i szybkości witryny i stron internetowych.
Dzisiaj przedstawimy dwa narzędzia, które pomogą Ci przyspieszyć Twoją witrynę na WordPress.
Pierwsze narzędzie to: Lakier
Varnish to akcelerator HTTP i przydatne narzędzie do przyspieszania działania serwera, zwłaszcza w okresach dużego ruchu na stronie. Działa poprzez przekierowywanie odwiedzających na strony statyczne, gdy tylko jest to możliwe, i rysuje na samym wirtualnym serwerze prywatnym tylko wtedy, gdy istnieje potrzeba aktywnego procesu.
Drugie narzędzie to: Redis
Redis to magazyn wartości kluczy typu open source, który może działać zarówno jako magazyn w pamięci, jak i jako pamięć podręczna. Redis to serwer struktury danych, który może być używany samodzielnie jako serwer bazy danych lub w połączeniu z relacyjną bazą danych, taką jak MySQL, aby przyspieszyć działanie, tak jak to robimy w tym samouczku.
To są dwa całkiem różne programy. Ostateczny cel obu części oprogramowania jest jednak taki sam, a większość witryn korzysta z obu technologii w celu przyspieszenia dostarczania. Jeden to moduł równoważenia obciążenia HTTP, który buforuje Varnish (akcelerator HTTP), a drugi to prosty magazyn klucz-wartość Redis. Powinieneś wybrać ten, który jest odpowiedni dla twoich szczególnych potrzeb.
W tym samouczku Redis i Varnish zostaną skonfigurowane jako pamięć podręczna dla WordPress, aby zmniejszyć nadmiarowe i czasochłonne zapytania http i bazy danych używane do renderowania strony WordPress.
Zainstaluj i skonfiguruj Varnish z Apache
Zanim zaczniesz instalować lakier na serwerze witryny WordPress, załóż, że zainstalowałeś WordPress na Ubuntu. Możesz postępować zgodnie z naszym przewodnikiem Jak zainstalować WordPress w Ubuntu.
Musisz także mieć użytkownika z uprawnieniami sudo.
Zainstaluj lakier
Varnish jest rozprowadzany w repozytoriach pakietów Ubuntu, ale tamtejsza wersja może być nieaktualna, dlatego witryna lakiernicza zaleca instalację pakietu lakieru za pośrednictwem swojego repozytorium.
Jedyną obsługiwaną architekturą jest amd64.
sudo apt-get install apt-transport-https
curl https://repo.varnish-cache.org/GPG-key.txt | sudo apt-key add -
Następnym krokiem jest dodanie repozytorium do listy źródeł apt.
sudo echo "deb https://repo.varnish-cache.org/ubuntu/ trusty varnish-4.0" >> /etc/apt/sources.list.d/varnish-cache.list
Zapisz i wyjdź.
Na koniec zaktualizuj apt-get i zainstaluj lakier.
sudo apt-get update
sudo apt-get install lakier
Skonfiguruj lakier
Po zainstalowaniu varnsih możesz rozpocząć jego konfigurację.
Varnish będzie obsługiwał zawartość na porcie 80 i należy zmienić apache, aby działał na porcie 8080.
Rozpocznij konfigurację, otwierając plik / etc / default / varnish plik:
sudo nano / etc / default / varnish
Odkomentuj wszystkie wiersze poniżej „DAEMON_OPTS”-w Alternative 2 i dopasuj konfigurację do następującego kodu:
DAEMON_OPTS = "- a: 80 \ -T localhost: 6082 \ -f /etc/varnish/default.vcl \ -S / etc / varnish / secret \ -s malloc, 256m"
Po zapisaniu i wyjściu z tego pliku otwórz plik default.vcl plik:
sudo nano /etc/varnish/default.vcl
Varnish wykorzystuje koncepcję serwera zaplecza lub serwera pochodzenia, aby określić, skąd ma pobierać zawartość, jeśli nie jest trwała w pamięci podręcznej. Edytować /etc/varnish/default.vcl z edytorem tekstu i upewnij się, że jest obecny.
domyślne zaplecze .host = "127.0.0.1"; .port = "8080";
Teraz ostatnim krokiem w konfiguracji lakieru jest konfiguracja portu Apache.
Otwórz plik portów Apache:
sudo nano /etc/apache2/ports.conf
Zmień numer portu zarówno dla NameVirtualHost, jak i linii Listen na port 8080, a wirtualny host powinien być dostępny tylko z lokalnego hosta.
NameVirtualHost 127.0.0.1:8080 Listen 127.0.0.1:8080
Zmień także te ustawienia w domyślnym pliku hosta wirtualnego:
sudo nano / etc / apache2 / sites-available / default
Wirtualny host również powinien być ustawiony na port 8080, a zaktualizowana linia wygląda jak w tym przykładzie:
Teraz, gdy konfiguracja jest zakończona, musisz uruchomić Varnish i ponownie uruchomić Apache.
Po wykonaniu tej czynności cały ruch do naszej witryny WordPress przechodzi przez Varnish, zanim trafi na serwer Apache.
sudo service varnish start sudo service apache2 restart
Konfiguracja WordPress z Varnish
Po zainstalowaniu Varnish musisz pozwolić WordPressowi wyczyścić zawartość pamięci podręcznej po każdej modyfikacji. Jest kilka wtyczek do osiągnięcia tego. W tym poradniku użyjemy Varnish HTTP Purge.
Przejdź do pulpitu WordPress, kliknij Wtyczki> Dodaj nowy i wyszukaj „Lakierowanie HTTP Purge”. Kliknij 'Zainstaluj teraz' i potwierdź. Na koniec aktywuj go.
Aby wtyczka Varnish HTTP Purge działała poprawnie, należy ją włączyć mod_rewrite za pomocą tego polecenia
sudo a2enmod przepisać
Następnie użyj niestandardowej struktury adresów URL dla linków bezpośrednich i archiwów. Przejdź do pulpitu WordPress i kliknij Ustawienia> Linki bezpośrednie i wybierz „Struktura niestandardowa”. Następnie wpisz /% year% /% monthnum% /% post_id% i kliknij „Zapisz zmiany”.
Najlepsza paratice of Varnish z wordpress
Jednym z najlepszych sposobów jest wykluczenie wszelkich stron związanych z administrowaniem lub logowaniem przed trafieniem do pamięci podręcznej.
otwarty /etc/varnish/default.vcl i dodaj następujące informacje, zanim usuniemy pliki cookie z poprzedniego kroku.
if (req.url ~ "wp-admin | wp-login") return (pass);
Varnish używa parametru max-age w nagłówku HTTP Cache-Control, aby ustalić, jak długo zawartość jest uważana za świeżą, zanim ponownie skontaktuje się z backendem.
Domyślna konfiguracja Varnish to 120 sekund trzeba przedłużyć ten okres do jednej godziny możemy zaktualizować /etc/varnish/default.vcl.
sub vcl_backend_response if (beresp.ttl == 120s) set beresp.ttl = 1h;
Varnish nie będzie buforował treści dla żądań, w tym pliku cookie lub nagłówka, ani odpowiedzi, w tym nagłówka Set-Cookie.
WordPress ustawia wiele plików cookie, które można bezpiecznie zignorować podczas normalnego przeglądania, więc zaktualizujmy /etc/varnish/default.vcl i dodaj następujące elementy w środku vcl_recv aby je usunąć.
ustaw req.http.cookie = regsuball (req.http.cookie, "wp-settings- \ d + = [^;] + (;)?", ""); ustaw req.http.cookie = regsuball (req.http.cookie, "wp-settings-time- \ d + = [^;] + (;)?", ""); ustaw req.http.cookie = regsuball (req.http.cookie, "wordpress_test_cookie = [^;] + (;)?", ""); if (req.http.cookie == "") unset req.http.cookie;
Teraz musisz ponownie załadować konfigurację Varnish za pomocą tego polecenia
Ponowne ładowanie lakieru usługi sudo
Zainstaluj i skonfiguruj Redis z Apache
Zainstaluj Redis
Aby korzystać z Redis z WordPress, należy zainstalować dwa pakiety: redis-server
i php5-redis
.
Plik redis-server
pakiet zapewnia Redis, podczas gdy php5-redis
pakiet zawiera rozszerzenie PHP dla aplikacji PHP, takich jak WordPress, do komunikacji z Redis.
Użyj tego polecenia, aby go zainstalować
sudo apt-get install redis-server php5-redis
Skonfiguruj Redis
Ponieważ Redis może działać jako serwer pamięci podręcznej i baza danych nosql. Musisz go skonfigurować w swojej witrynie Wordpress jako pamięć podręczną. W tym celu wymagane są następujące ustawienia.
Edytuj plik /etc/redis/redis.conf
i dodaj następujące wiersze u dołu:
sudo nano /etc/redis/redis.conf
Dodaj te wiersze na końcu pliku:
maxmemory 256mb maxmemory-policy allkeys-lru
Po wprowadzeniu zmian zapisz i zamknij plik.
Konfiguracja WordPress z Redis
Następnym krokiem jest instalacja Wtyczka Redis Object Cache WordPress.
Ta wtyczka jest trwałym zapleczem pamięci podręcznej obiektów obsługiwanym przez Redis. Obsługuje rozszerzenie Redis firmy HHVM, rozszerzenie PCEL Redis i bibliotekę Predis dla PHP.
Musisz zainstalować i aktywować tę wtyczkę z pulpitu Wordpress. Przejdź do pulpitu WordPress, kliknij Wtyczki> Dodaj nowy i wyszukaj „Pamięć podręczna obiektów Redis”. Kliknij 'Zainstaluj teraz' i potwierdź. Na koniec aktywuj go.
Następnie musisz włączyć pamięć podręczną obiektów pod Narzędzia -> Redis.
W razie potrzeby dostosuj parametry połączenia tej wtyczki. Domyślnie drop-in Object Cache łączy się z Redis przez TCP o godzinie 127.0.0.1:6379
i wybierz bazę danych 0
.
Aby dostosować parametry połączenia, zdefiniuj następujące stałe w pliku wp-config.php
.
WP_REDIS_CLIENT
[domyślnie: nie ustawiono] Określa klienta używanego do komunikacji z Redis. Obsługujehhvm
,pecl
ipredis
.WP_REDIS_SCHEME
[domyślna:tcp
] Określa protokół używany do komunikacji z instancją Redis. Klient wewnętrznie używa klasy połączenia skojarzonej z określonym schematem połączenia. Obsługujetcp
(TCP / IP),unix
(Gniazda domeny UNIX) lubhttp
(Protokół HTTP przez Webdis).WP_REDIS_HOST
[domyślna:127.0.0.1
] IP lub nazwa hosta serwera docelowego. Jest to ignorowane podczas łączenia się z Redis przy użyciu gniazd domeny UNIX.WP_REDIS_PORT
[domyślna:6379
] Port TCP / IP serwera docelowego. Jest to ignorowane podczas łączenia się z Redis przy użyciu gniazd domeny UNIX.WP_REDIS_PATH
[domyślnie: nie ustawiono] Ścieżka do pliku gniazda domeny UNIX używanego podczas łączenia się z usługą Redis przy użyciu gniazd domeny UNIX.WP_REDIS_DATABASE
[domyślna:0
] Akceptuje wartość liczbową używaną do automatycznego wybierania logicznej bazy danych z rozszerzeniemWYBIERZ
Komenda.WP_REDIS_PASSWORD
[domyślnie: nie ustawiono] Akceptuje wartość używaną do uwierzytelniania na serwerze Redis chronionym hasłem z rozszerzeniemAUTH
Komenda.WP_REDIS_MAXTTL
[domyślnie: nieustawione] Ustaw maksymalny czas życia (w sekundach) dla kluczy pamięci podręcznej z czasem wygaśnięcia0
.
Prefiksowanie kluczy pamięci podręcznej
Plik WP_CACHE_KEY_SALT
stała, aby dodać przedrostek do wszystkich kluczy pamięci podręcznej.
Użytkownicy korzystający z konfiguracji, w których wiele instalacji jest wspólnych wp-config.php
lub$ table_prefix
może użyć tej stałej, aby zagwarantować niepowtarzalność kluczy generowanych przez tę pamięć podręczną obiektów.
Na koniec uruchom ponownie redis-service
i apache2
.
Uruchom ponownie Redis:
restart usługi sudo redis-server
Uruchom ponownie Apache:
restart usługi sudo apache2
Możesz teraz sprawdzić szybkość ładowania strony i wykorzystanie zasobów, powinieneś zauważyć poprawę.

Aby monitorować Redis, użyj redis-cli
polecenie takie:
monitor redis-cli
Postępując zgodnie z tym przewodnikiem, przyspieszysz swoją witrynę WordPress.
Ciesz się i dziękuję 🙂