30.07.2019

Redis, Drupal ja cPanel

Mikko Virtaperko keltaisella taustalla
Mikko Virtaperko
CTO, Partner

project management

sales

photography

service design

Mikko Virtaperko keltaisella taustalla

Mikko Virtaperko
CTO, Partner

project management

sales

photography

service design

Redis käyttöön asiakkaittesi iloksi

Redis on NoSQL, jota voi käyttää vähentämään Drupalin lataamiseen tarvittavaa tietokantakuormitusta. Asentaminen cPaneliin ja käyttöönotto Drupal-asennuksessa tapahtuu seuraavasti. 

Tietokannan asentaminen

yum install redis

Jos repositoryä ei ole asennettu, kokeile

yum install epel-release

Käynnistä redis automaattisesti 

systemctl enable redis
systemctl start redis

phpredis, tietokannan liittäminen PHP:een

Asenna phpredis, Drupal 8 Redis-moduuli vaatii tämän. Tämä on PHP-versiokohtainen, jatkossa pidettävä huolta että käytössä oleva PHP-versio on konfiguroitu vastaavasti. Voit vaihtaa tilikohtaisesti PHP:n version WHM:n MultiPHP Managerista.

/opt/cpanel/ea-php72/root/usr/bin/pecl install igbinary igbinary-devel redis

Asennuksen voi tehdä myös klikkailemalla WHM:stä

WHM->Software->Module Installers
PHP Pecl->Manage

Jos asentaminen PECLillä ei toimi, paketin voi kääntää itse. Tässä tarvitaan PHP-versiokohtainen polku kuten edellä.

git clone https://github.com/phpredis/phpredis.git
cd phpredis
/opt/cpanel/ea-php72/root/usr/bin/phpize
./configure --with-php-config=/opt/cpanel/ea_php72/root/usr/bin/php-config

Tarkista että redis on käytössä

/opt/cpanel/ea-php72/root/usr/bin/php -m|grep redis

Tai avaa rediksen UI

redis-cli

Täällä voi tutkia dataa esim komennolla

keys *

, mutta heti asennuksen jälkeen varasto on tyhjä. 

Redisin konfiguraatio ja "OOM command not allowed when used memory > maxmemory"

Tiedostosta /etc/redis.conf ota socket käyttöön poistamalla kommenttimerkit näistä

unixsocket /tmp/redis.sock
unixsocketperm 700

Lisää memory limit, muuten redis cachettaa levytilan täyteen. Varaudu säätämään raja-arvoa vastaamaan tarkoitusta. 

maxmemory 128MB

Oletuksena redis ei pudota cachea koskaan, joten kun raja tulee täyteen, tietokantaan ei voi kirjoittaa. Tästä seuraa virhe "OOM command not allowed when used memory > maxmemory." Laita LRU päälle:

maxmemory-policy volatile-lru

Asentaminen Drupaliin

Lataa ja ota käyttöön Redis.

composer require drupal/redis
drush en redis

Sivun asetuksiin, esim sites/default/settings.php seuraavsti. Käytä saittikohtaista cache_prefixiä koska Redis on yhteinen NoSQL kaikille palvelimen Drupal-asennuksille.

$conf['redis_cache_socket'] = '/tmp/redis.sock';
$settings['cache_prefix']['default'] = 'sivun_nimi_';
$settings['cache']['default']= 'cache.backend.redis';

Lisätietoja

redis.io
Asentaminen cPaneliin 
Asentaminen Ubuntuun
Mittaa sivusi nopeus, GTmetrix ja PageSpeed Insight

Kiinnostuitko?

Jätä yhteydenottopyyntö

Tilaa uutiskirje