Jak skonfigurować Redis w WordPress i Bedrock

Bedrock .env file with Redis settings


Redis to popularny system pamięci podręcznej typu open-source, który może znacznie zwiększyć wydajność strony internetowej. W tym artykule omówimy, jak poprawnie skonfigurować Redis w standardowej instalacji WordPress oraz w instalacji Bedrock od Roots. Ponadto, przedstawimy rozwiązanie problemu z błędem „Filesystem not writeable” w Redis Object Cache.


Instalacja Redis w standardowej instalacji WordPress

Krok 1: Uzyskaj dane dostępowe do Redis
Zaloguj się do panelu administracyjnego swojego hostingu. Przejdź do sekcji zarządzania Redis i wygeneruj nową instancję Redis. Zapisz dane takie jak host, port i hasło. Przykładowe dane mogą wyglądać tak:

  • Host: 127.0.0.1
  • Port: 6379
  • Hasło: przykładoweHasło123

Krok 2: Zainstaluj wtyczkę Redis Object Cache
Zaloguj się do panelu administracyjnego WordPress i przejdź do zakładki „Wtyczki”. Wyszukaj „Redis Object Cache”, a następnie zainstaluj i aktywuj tę wtyczkę.

Krok 3: Konfiguracja wp-config.php
Otwórz plik wp-config.php znajdujący się w katalogu głównym Twojej instalacji WordPress (np. public_html). Dodaj następujące linie przed /* That's all, stop editing! Happy publishing. */:

define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', 6379);
define('WP_REDIS_PASSWORD', 'przykładoweHasło123');

Krok 4: Aktywacja pamięci podręcznej
Przejdź do ustawień wtyczki Redis Object Cache w panelu WordPress i kliknij „Enable Object Cache”. Upewnij się, że status połączenia pokazuje „Connected”.

Instalacja Redis w Bedrock od Roots

Krok 1: Uzyskaj dane dostępowe do Redis
Zaloguj się do panelu administracyjnego swojego hostingu. Przejdź do sekcji zarządzania Redis i wygeneruj nową instancję Redis. Zapisz dane takie jak host, port i hasło. Przykładowe dane mogą wyglądać tak:

  • Host: 127.0.0.1
  • Port: 6379
  • Hasło: przykładoweHasło123

Krok 2: Zainstaluj Redis Object Cache
Przejdź do swojego katalogu Bedrock i zainstaluj wtyczkę Redis Object Cache za pomocą Composer:

composer require wpackagist-plugin/redis-cache

Po zainstalowaniu aktywuj wtyczkę w swoim panelu administracyjnym WordPress.

Krok 3: Konfiguracja .env
Otwórz plik .env znajdujący się w głównym katalogu Bedrock. Dodaj następujące linie:

WP_REDIS_HOST=127.0.0.1
WP_REDIS_PORT=6379
WP_REDIS_PASSWORD=przykładoweHasło123

Krok 4: Konfiguracja config/application.php
Dodaj poniższe linie do pliku config/application.php, aby skonfigurować Redis:

/**
 * Redis settings
 */
Config::define('WP_CACHE', true); // Enable Object Cache
Config::define('WP_REDIS_HOST', env('WP_REDIS_HOST'));
Config::define('WP_REDIS_PORT', env('WP_REDIS_PORT'));
Config::define('WP_REDIS_PASSWORD', env('WP_REDIS_PASSWORD'));

// dodatkowe ustawienia Redis
Config::define('WP_REDIS_DATABASE', env('WP_REDIS_DATABASE') ?: 0);
Config::define('WP_REDIS_PREFIX', env('WP_REDIS_PREFIX') ?: 'abcd_');
Config::define('WP_REDIS_SCHEME', env('WP_REDIS_SCHEME') ?: 'tcp');
Config::define('WP_REDIS_CLIENT', env('WP_REDIS_CLIENT') ?: 'phpredis');
Config::define('WP_REDIS_TIMEOUT', env('WP_REDIS_TIMEOUT') ?: 1);
Config::define('WP_REDIS_READ_TIMEOUT', env('WP_REDIS_READ_TIMEOUT') ?: 1);
Config::define('WP_REDIS_MAXTTL', env('WP_REDIS_MAXTTL') ?: 0);
Config::define('WP_REDIS_IGNORED_GROUPS', env('WP_REDIS_IGNORED_GROUPS') ?: []);

Krok 5: Konfiguracja aplikacji
Przejdź do ustawień wtyczki Redis Object Cache w panelu WordPress i kliknij „Enable Object Cache”. Upewnij się, że status połączenia pokazuje „Connected”.

Zapraszam do odwiedzenia strony wtyczki na github, gdzie są zawarte dodatkowe parametry ustawień: Redis Cache WordPress Github.

Rozwiązanie błędu „Filesystem not writeable” w Redis Object Cache

Wtyczka Redis Object Cache autorstwa Tilla Krüssa jest popularnym narzędziem wykorzystywanym przez użytkowników WordPressa do poprawy wydajności strony. Jednakże, niektórzy użytkownicy mogą napotkać błąd „Filesystem: Not Writeable”. Jest to związane z ustawieniem stałej DISALLOW_FILE_MODS w pliku konfiguracyjnym WordPressa.

DISALLOW_FILE_MODS – Lepiej pozostawić włączone

Wielu deweloperów WordPressa używa kontroli wersji (np. GIT) i chce uniknąć modyfikacji plików na żywej wersji strony dla zapewnienia bezpieczeństwa i integralności danych. Dlatego ustawiają stałą DISALLOW_FILE_MODS na true w pliku konfiguracyjnym WordPressa.

Jednak zmiana wartości DISALLOW_FILE_MODS na false nie jest poprawnym rozwiązaniem. Stała ta powinna pozostać włączona, jeżeli używasz jej dla swojego projektu, ponieważ istnieje alternatywne rozwiązanie specjalnie dla Redis.

Dlaczego Redis Object Cache nie działa z włączoną DISALLOW_FILE_MODS?

Od wersji 2.5.0, wtyczka Redis Object Cache „respektuje” użycie DISALLOW_FILE_MODS i informuje administratora WordPressa, że system plików nie jest zapisywalny. Chociaż wtyczka nadal działa, po jej wyłączeniu nie pozwoli na ponowne włączenie, dopóki problem nie zostanie rozwiązany.

Rozwiązanie problemu z DISALLOW_FILE_MODS

Aby rozwiązać ten problem, wystarczy dodać poniższy kod do pliku functions.php w Twoim motywie lub dodać go jako wtyczkę must-use:

add_filter( 'file_mod_allowed', 'allow_file_mod_for_object_cache', 10, 2 );
function allow_file_mod_for_object_cache( $allow_file_mod, $context ) {
    if ( in_array( $context, array( 'object_cache_dropin' ) ) ) {
        return true;
    }
    return $allow_file_mod;
}

Ten kod pozwala na modyfikacje plików tylko dla specyficznych operacji związanych z Redis Object Cache, zachowując bezpieczeństwo i integralność danych na stronie.

FAQ

Czy Redis jest kompatybilny z wszystkimi hostingami?

Nie wszystkie hostingi wspierają Redis. Przed instalacją upewnij się, że Twój hosting oferuje wsparcie dla Redis.

Czy Redis poprawia wydajność małych stron?

Redis jest szczególnie przydatny dla stron z dużym ruchem i licznymi zapytaniami do bazy danych. Małe strony mogą nie odczuć znaczącej poprawy wydajności.

Czy mogę używać Redis z innymi wtyczkami cache?

Tak, Redis może być używany w połączeniu z innymi wtyczkami cache, takimi jak LiteSpeed Cache czy W3 Total Cache, które wspierają Redis.

Jak sprawdzić, czy Redis działa poprawnie?

Możesz sprawdzić status połączenia w ustawieniach wtyczki Redis Object Cache w WordPress. Powinien on wskazywać „Connected”.

Czy Redis jest bezpieczny?

Redis jest bezpieczny, jeśli jest odpowiednio skonfigurowany. Upewnij się, że używasz silnych haseł i ograniczasz dostęp do Redis tylko do zaufanych adresów IP.

Czy muszę regularnie opróżniać pamięć podręczną Redis?

Opróżnianie pamięci podręcznej Redis jest zalecane po większych aktualizacjach strony lub w przypadku problemów z wyświetlaniem treści.

Podsumowanie

Konfiguracja Redis w WordPress i Bedrock może znacząco poprawić wydajność Twojej strony, szczególnie przy dużym ruchu i licznych zapytaniach do bazy danych. Postępując zgodnie z powyższymi krokami, możesz łatwo skonfigurować i aktywować Redis na swoim serwerze, a także rozwiązać typowe problemy z dostępem do plików.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *