Benutzer-Werkzeuge

Webseiten-Werkzeuge


ubuntu:redis-server

Dies ist eine alte Version des Dokuments!


Redis als PHP-Cache

                _._
           _.-``__ ''-._
      _.-``    `.  `_.  ''-._           Redis 4.0.9 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 0
 |    `-._   `._    /     _.-'    |     PID: 25321
  `-._    `-._  `-./  _.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |           http://redis.io
  `-._    `-._`-.__.-'_.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |
  `-._    `-._`-.__.-'_.-'    _.-'
      `-._    `-.__.-'    _.-'
          `-._        _.-'
              `-.__.-'

In diesem Beispiel läuft PHP 7.2 als CGI.

Installation der Pakete

# apt-get update
# aptitude install redis php7.2-redis

Konfiguration

Die Anbindung des Webservers mit PHP soll über einen Unix-Socket erfolgen. Dazu müssen ein paar Zeilen in der Konfiguration geändert werden:

[...]
port 0
[...]
unixsocket /var/run/redis/redis-server.sock
unixsocketperm 770

Der Webserver muss Zugriff auf den Socket von Redis bekommen.

# usermod -a -G redis www-data

Die Änderungen werden nach Neustart der Dienste wirksam.

# service redis-server restart
# service php7.2-fpm restart
# service nginx restart

Performance-Tuning

Beim Systemstart wollen wir ein paar Systemparameter manipulieren. Die rc.local muss unter Ubuntu zuvor angelegt werden:

# vi /etc/rc.local
# chmod +x /etc/rc.local

Dieser Parameter muss nur einmal in die /etc/sysctl.conf eingetragen werden.

# echo 'vm.overcommit_memory = 1' >> /etc/sysctl.conf
/etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

echo never > /sys/kernel/mm/transparent_hugepage/enabled
sysctl -w net.core.somaxconn=65535
service redis-server restart

exit 0

Einbindung in die PHP-Anwendung nicht vergessen

Nextcloud

/srv/www/html/nextcloud/config/config.php
[...]
  'filelocking.enabled' => 'true',
  'memcache.local' => '\\OC\\Memcache\\Redis',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'redis' =>
  array (
    'host' => '/var/run/redis/redis-server.sock',
    'port' => 0,
    'timeout' => 0.0,
  ),
[...]
ubuntu/redis-server.1555184853.txt.gz · Zuletzt geändert: von Sebastian Hetzel

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki