Redis, Drupal ja cPanel
Mikko Virtaperko
CTO, Partner
project management
sales
photography
service design
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