Onafhankelijk. Vanuit Brabant. Sinds 2010.
088-2555 355Klantomgeving
Hosting & beheer

Redis activeren voor WordPress

Activeer Redis in DirectAdmin en verbind WordPress via de Redis Object Cache-plugin. Met code voor wp-config.php, uw eigen socketpad en controle van de verbinding.

Wilt u voorkomen dat WordPress steeds dezelfde gegevens uit de database moet ophalen? Met Redis kan WordPress die gegevens in het geheugen bewaren en bij een volgend verzoek opnieuw gebruiken. Dat heet persistente objectcache. In deze handleiding schakelt u Redis in voor uw DirectAdmin-account en verbindt u WordPress via het socketpad dat DirectAdmin toont.

Wat heeft u nodig?

U heeft toegang nodig tot het DirectAdmin-account van de website, een WordPress-beheerdersaccount waarmee u plugins mag installeren en toegang tot de websitebestanden. Deze uitleg gaat uit van een bestaande WordPress-installatie en Redis dat op uw hosting beschikbaar is.

Zorg dat er een recente back-up van bestanden en database is. “Download” vóór het bewerken ook een kopie van wp-config.php en bewaar die op uw eigen computer. Laat geen reservebestand zoals wp-config.php.bak in de openbare websitemap staan: het bevat onder meer uw databasewachtwoord.

Objectcache vult paginacache aan. Paginacache bewaart complete pagina’s, terwijl objectcache gegevens bewaart waarmee WordPress pagina’s opbouwt. Het effect verschilt per website; vergelijk straks ook het beheer of een andere dynamische handeling.

Stap 1: Redis aanzetten in DirectAdmin

  1. Log in op DirectAdmin bij het account waaronder de WordPress-site staat. Werkt u als reseller? Open dan het gebruikersniveau van het betreffende klantaccount.

  2. Ga naar “Advanced Features” → “Redis”, in een Nederlandse weergave onder “Geavanceerde functies”. U kunt ook zoeken naar “Redis” in het paneel.

  3. Schakel Redis in met “Enable” of de inschakelknop en controleer dat de functie actief is.

  4. Kopieer het volledige pad bij “Path to redis socket file”. Houd dit scherm open; u heeft dit pad nodig in stap 3.

Een voorbeeldpad is /home/ACCOUNT/.redis/redis.sock. Gebruik altijd de exacte waarde uit uw eigen DirectAdmin-scherm. Een socket is een lokale verbinding op de server, geen webadres. U maakt dit bestand niet zelf aan en uploadt het niet naar WordPress.

Stap 2: Redis Object Cache installeren in WordPress

  1. Log in op het WordPress-dashboard van de juiste website.

  2. Open “Plugins” → “Nieuwe plugin toevoegen” en zoek naar Redis Object Cache.

  3. Kies Redis Object Cache van Till Krüss, klik op “Nu installeren” en daarna op “Activeren”.

  4. Open “Instellingen” → “Redis”. Wacht met “Enable Object Cache” tot u het socketpad in stap 3 heeft ingesteld.

De plugin staat in de officiële WordPress-pluginbibliotheek. Controleer de naam en maker, zodat u deze uitleg bij de juiste plugin volgt.

Bekijk Redis Object Cache in de pluginbibliotheek

Stap 3: Het socketpad in wp-config.php instellen

Open de bestandsbeheerder in DirectAdmin en ga naar de map van uw WordPress-installatie. Bij een standaardinstallatie is dat domains/uw-domein.nl/public_html/. U herkent de WordPress-map aan de mappen wp-admin, wp-content en wp-includes.

Bewerk het bestaande bestand wp-config.php. Staat WordPress in een submap, open dan de configuratie van die installatie. Bij een aangepaste inrichting kan wp-config.php één map boven de WordPress-map staan.

Zoek in het bestand naar bestaande WP_REDIS_-instellingen. Pas bestaande regels aan in plaats van dezelfde instelling nogmaals toe te voegen. Controleer ook of er een oude WP_CACHE_KEY_SALT voor Redis staat; gebruik voor deze plugin voortaan de duidelijke sitenaam in WP_REDIS_PREFIX.

Plaats het volgende codeblok boven de opmerking die begint met “That’s all, stop editing”, of de Nederlandse vertaling daarvan. De regels moeten in ieder geval vóór het laden van wp-settings.php staan. Voeg geen extra <?php toe: u bewerkt een bestaand PHP-bestand.

Redis via de DirectAdmin-socket verbindenPHP
// Neem het volledige socketpad over uit DirectAdmin.
define( 'WP_REDIS_SCHEME', 'unix' );
define( 'WP_REDIS_PATH', '/home/ACCOUNT/.redis/redis.sock' );

// Kies een herkenbare, unieke prefix voor deze installatie.
define( 'WP_REDIS_PREFIX', 'uw-domein.nl:productie:' );

// Gebruik een eigen Redis-database per installatie op dezelfde socket.
define( 'WP_REDIS_DATABASE', 0 );

Vervang het hele voorbeeldpad door uw eigen socketpad en pas de prefix aan. Database 0 is hier het voorbeeld voor de eerste installatie; zie de uitleg over meerdere websites.

WP_REDIS_SCHEME kiest de Unix-socketverbinding. WP_REDIS_PATH wijst naar de socket uit DirectAdmin. WP_REDIS_PREFIX geeft de cachesleutels een herkenbaar voorvoegsel. WP_REDIS_DATABASE kiest een logische database binnen Redis en heeft niets te maken met de MySQL-databasenaam van WordPress.

Voor deze lokale socketverbinding hoeft u geen hostnaam of TCP-poort 6379 toe te voegen. Neem ook geen Redis-wachtwoord uit een ander voorbeeld over. Gebruik voor een afwijkende, beheerde Redis-inrichting de aansluitgegevens die daarvoor zijn verstrekt.

Sla wp-config.php op. Bewaar de bestaande databasegegevens, beveiligingssleutels, $table_prefix en overige WordPress-instellingen. De regel die wp-settings.php laadt blijft staan; u hoeft die niet te kopiëren of te verplaatsen.

Stap 4: De objectcache inschakelen

  1. Ga terug naar “Instellingen” → “Redis” in WordPress en vernieuw de pagina.

  2. Klik op “Enable Object Cache”, of de vertaalde knop om objectcache in te schakelen. De plugin plaatst hiervoor het bestand wp-content/object-cache.php, de zogenoemde drop-in.

  3. Controleer dat de status “Connected” of “Verbonden” is. Bekijk ook of de drop-in als geldig wordt getoond.

  4. Open “Diagnostics” of de diagnosegegevens, als deze tab beschikbaar is. Controleer dat de verbinding de Unix-socket en uw eigen pad gebruikt.

Alleen de plugin activeren is dus nog niet voldoende. De verbinding én de objectcache moeten actief zijn. Staat er nog “Not connected”, los dan eerst de oorzaak op met de foutcontrole hieronder.

Stap 5: Controleren of de website goed werkt

  1. Open enkele pagina’s als bezoeker en controleer of de juiste inhoud verschijnt.

  2. Log in op WordPress, open een bericht of pagina en controleer het opslaan van een kleine wijziging. Herstel die wijziging na de test.

  3. Heeft u een webshop? Controleer in een testsessie producten, winkelmand en afrekenen. Voorkom een onbedoelde echte bestelling.

  4. Vergelijk dezelfde dynamische handeling vóór en na inschakelen. Kijk waar beschikbaar naar reactietijd, cachetreffers en foutmeldingen in de plugin.

Een eerste bezoek kan de cache nog vullen. Meet daarom meerdere verzoeken. Alleen een al volledig gecachte homepage vergelijken zegt weinig over objectcache. Redis vervangt geen databaseback-up en lost een trage externe koppeling of ongunstige databasequery niet vanzelf op.

Meerdere websites of een testomgeving

Staan meerdere losse WordPress-installaties onder hetzelfde DirectAdmin-account, dan kunnen ze dezelfde Redis-socket gebruiken. Geef elke installatie een eigen WP_REDIS_PREFIX én een eigen beschikbare WP_REDIS_DATABASE. Gebruik bijvoorbeeld database 0 voor de eerste website en database 1 voor de testomgeving, als die nog vrij zijn. Stem bestaande toewijzingen af voordat u een nummer kiest.

Voorbeeld voor een aparte testomgevingPHP
define( 'WP_REDIS_PREFIX', 'uw-domein.nl:staging:' );
define( 'WP_REDIS_DATABASE', 1 );

Pas voor de testomgeving de twee bestaande regels aan. Kopieer deze niet onder de eerdere definities. Het socketpad blijft alleen gelijk als beide installaties onder hetzelfde DirectAdmin-account draaien.

Een prefix voorkomt botsingen tussen sleutelnamen, maar schermt klanten niet van elkaar af. Ook logische Redis-databases vormen geen beveiligingsgrens. Hostingaccounts van verschillende klanten horen passende toegangsafscherming te hebben. Controleer na klonen of verhuizen altijd opnieuw het socketpad, de prefix en het databasenummer.

Cache legen kan alle sleutels in de gekozen Redis-database verwijderen, ook met verschillende prefixes. Controleer daarom de toewijzing voordat u “Flush Cache” gebruikt. Laat bij een gedeelde inrichting VedaWeb meekijken en voer geen algemene opdracht uit die alle Redis-databases wist.

Veelvoorkomende problemen oplossen

Redis blijft op “Not connected” staan

Controleer eerst of Redis in DirectAdmin nog actief is. Vergelijk vervolgens het socketpad teken voor teken, inclusief de punt in .redis. Controleer of u het juiste wp-config.php heeft bewerkt, de instellingen vóór wp-settings.php staan en geen dubbele definities voorkomen.

No such file or directory of Connection refused

Een ontbrekend socketbestand kan wijzen op een verkeerd pad of een Redis-dienst die niet draait. Bij een geweigerde verbinding kan de dienst ook gestopt zijn. Kopieer het pad opnieuw uit DirectAdmin en controleer de status. Blijft de fout bestaan, geef dan de domeinnaam, het socketpad en de exacte melding door aan VedaWeb.

Permission denied of een ontbrekende PHP-client

Bij Permission denied moet worden gecontroleerd of PHP onder de juiste accountgebruiker draait en toegang tot de socket heeft. Maak de socket of websitemap niet voor iedereen schrijfbaar. Laat de toegangsrechten controleren.

De plugin gebruikt doorgaans PhpRedis als die PHP-extensie beschikbaar is en anders Predis. Meldt de plugin een ontbrekende of niet-werkende client, laat dan de PHP-inrichting van deze website controleren. Forceer niet zomaar een andere client of een willekeurige host en poort.

De drop-in kan niet worden aangemaakt

Controleer of wp-content schrijfbaar is voor de PHP-gebruiker en of daar al een object-cache.php van een andere plugin staat. Schakel de bestaande objectcache via die plugin uit. Laat VedaWeb meekijken wanneer onduidelijk is van welke plugin het bestand afkomstig is.

Een foutmelding direct na het opslaan

Een PHP-syntaxfout, bijvoorbeeld door een ontbrekende puntkomma of verkeerd aanhalingsteken, kan de website onbereikbaar maken. Herstel dan eerst uw opgeslagen kopie van wp-config.php via de bestandsbeheerder. Controleer de code voordat u de wijziging opnieuw uitvoert.

Redis weer uitschakelen

Open in WordPress “Instellingen” → “Redis” en kies “Disable Object Cache”. Controleer dat de website werkt en de drop-in is verwijderd, en deactiveer daarna eventueel de plugin. Schakel Redis pas in DirectAdmin uit als geen enkele andere website binnen dat account de socket nog gebruikt.

Kunt u het WordPress-dashboard door een Redis-verbindingsfout niet bereiken? Voeg dan tijdelijk de volgende regel toe in wp-config.php, op dezelfde plek vóór het laden van wp-settings.php. Bestaat de instelling al, wijzig dan de waarde.

De Redis-objectcache tijdelijk overslaanPHP
define( 'WP_REDIS_DISABLED', true );

Gebruik dit alleen om de Redis-objectcache te omzeilen. Deze regel herstelt geen PHP-syntaxfout in wp-config.php.

Zodra u weer kunt inloggen, schakelt u objectcache uit via de plugin. Om Redis later opnieuw te gebruiken verwijdert u de tijdelijke regel of zet u de waarde op false, nadat de verbinding is hersteld. Controleer daarna opnieuw de status en de werking van de website.

Heeft u hulp nodig? Geef VedaWeb de domeinnaam, DirectAdmin-gebruikersnaam en de foutmelding of relevante diagnosegegevens. Deel niet uw volledige wp-config.php, want daarin staan ook wachtwoorden en beveiligingssleutels.

Maak de controle voor uw volgende wijziging herhaalbaar

Bewaar na de installatie welke WordPress-installatie de socket gebruikt, welke logische database is toegewezen en welke prefix daarbij hoort. Dat voorkomt verwarring wanneer u later een tweede site kloont of een collega cache wil legen. Noteer geen wachtwoorden of volledige configuratiebestanden in een algemeen projectdocument.

Redis-controle per WordPress-installatieTekst
Website en omgeving: productie / test
DirectAdmin-account:
Socketpad uit de beheeromgeving:
Toegewezen logische database:
Unieke prefix:
Actieve plugin voor objectcache:
Verbindingsstatus en drop-in gecontroleerd:
Geteste dynamische handeling:
Meetmomenten voor en na:
Functionele uitkomst:
Terugschakelroute bekend:

Herhaal de controle na klonen, verhuizen of het veranderen van PHP. Deel dit document alleen met de beheerders die deze gegevens nodig hebben.

Kies voor vergelijking bijvoorbeeld dezelfde zoekopdracht of dezelfde beheerpagina met dezelfde gebruiker. Houd paginacache, aantal gelijktijdige gebruikers en de gebruikte verbinding zoveel mogelijk gelijk. Controleer meerdere verzoeken en vergelijk naast de tijd ook of de getoonde gegevens actueel en correct zijn. Een snellere gecachte homepage alleen bewijst geen verbetering van de objectcache.

Een geslaagde verbinding is een controle van de aansluiting, geen volledige controle van uw applicatie. Test daarom ook het opslaan en opnieuw ophalen van een wijziging. Merkt u fouten na een aanpassing, gebruik dan de beschreven uitschakelroute en bewaar de foutcontext. Pas niet tegelijk prefix, database, PHP-client en andere cacheplugins aan; daarmee wordt de oorzaak moeilijker te bepalen.

← Terug naar de kennisbankEen vraag of aanvulling doorgeven