CLOVER🍀

That was when it all began.

Ubuntu Linux 18.04 LTSに、Redisをaptリポジトリからインストールする

これは、なにをしたくて書いたもの?

Ubuntu Linuxで、Redisをaptリポジトリからインストールする方法を、ちゃんと調べてみようかなと。

環境

今回の環境は、Ubuntu Linux 18.04 LTSとします。

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.3 LTS
Release:    18.04
Codename:   bionic

オフィシャルリポジトリからインストールする

まずは、オフィシャルリポジトリからのインストールからやってみます。

redis package : Ubuntu

こちらで、redis、redis-server、redis-toolsがインストールされます。

$ sudo apt install redis

redis-toolsは、クライアントツール(redis-cliなど)が含まれるパッケージです。

インストールされたRedisは、4.0.9とやや古めです。

$ redis-server -v
Redis server v=4.0.9 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=9435c3c2879311f3

こちらをちゃんと見ると、現在の18.04 LTS(Bionic)ではRedis 4が入り、それより新しいUbuntu LinuxであればRedis 5が
入るようです。

redis package : Ubuntu

設定ファイルは/etc/redis/redis.confにあり、ログは/var/log/redis/redis-server.logに出力されます。データの保存場所は、
/var/lib/redisのようです。

デフォルトの設定は、こんな感じですね。

$ sudo grep -v '^#' /etc/redis/redis.conf | grep -v '^$'
bind 127.0.0.1 ::1
protected-mode yes
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
pidfile /var/run/redis/redis-server.pid
loglevel notice
logfile /var/log/redis/redis-server.log
databases 16
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir /var/lib/redis
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
slave-lazy-flush no
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble no
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes

起動、停止、再起動は、systemctlで。

$ sudo systemctl start redis-server

$ sudo systemctl stop redis-server

$ sudo systemctl restart redis-server

また、「redis-sentinel」パッケージをインストールすることで、Redis Sentinelも導入可能です。

$ sudo apt install redis-sentinel

設定ファイルは/etc/redis/sentinel.confにあり、ログは/var/log/redis/redis-sentinel.logに出力されます。

$ sudo grep -v '#' /etc/redis/sentinel.conf | grep -v '^$'
daemonize yes
pidfile "/var/run/sentinel/redis-sentinel.pid"
logfile "/var/log/redis/redis-sentinel.log"
port 26379
dir "/var/lib/redis"
sentinel myid 630f62da7044865e90ee4e5b8532c6e28ffbaaa8
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel config-epoch mymaster 0
sentinel leader-epoch mymaster 0
sentinel current-epoch 0

起動、停止、再起動はこちら。

$ sudo systemctl start redis-sentinel

$ sudo systemctl stop redis-sentinel

$ sudo systemctl restart redis-sentinel

PPAを使う

では、Ubuntu Linux 18.04 LTSでRedis 5をaptでインストールするには…ということで。

PPAを使います。

redis-server : chris lea

「add-apt-repository」で、PPAを追加。リポジトリの情報を、アップデート。

$ sudo add-apt-repository ppa:chris-lea/redis-server
$ sudo apt update

インストール。

$ sudo apt install redis

今度は、Redis 5がインストールされました。

$ redis-server -v
Redis server v=5.0.6 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=9260170b247e88b

設定ファイルは/etc/redis/redis.confにあり、ログは/var/log/redis/redis-server.logに出力されます。データの保存先は、/var/lib/redisですね。

デフォルトの設定は、こちら。

$ sudo grep -v '^ *#' /etc/redis/redis.conf | grep -v '^$'
bind 127.0.0.1 ::1
protected-mode yes
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
pidfile /var/run/redis/redis-server.pid
loglevel notice
logfile /var/log/redis/redis-server.log
databases 16
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir /var/lib/redis
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
replica-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes

起動、停止、再起動はsystemctlで。

$ sudo systemctl start redis-server

$ sudo systemctl stop redis-server

$ sudo systemctl restart redis-server

また、Redis Sentinelをインストールすることもできます。

$ sudo apt install redis-sentinel

設定ファイルは/etc/redis/sentinel.confにあり、ログは/var/log/redis/redis-sentinel.logに出力されます。

デフォルトの設定は、こちら。

$ sudo grep -v '^ *#' /etc/redis/sentinel.conf | grep -v '^$'
bind 127.0.0.1 ::1
port 26379
daemonize yes
pidfile "/var/run/sentinel/redis-sentinel.pid"
logfile "/var/log/redis/redis-sentinel.log"
dir "/var/lib/redis"
sentinel myid 890e63a58116ec3e1508adabb81444b53375866b
sentinel deny-scripts-reconfig yes
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel config-epoch mymaster 0
sentinel leader-epoch mymaster 0
protected-mode no
sentinel current-epoch 0

起動、停止、再起動。

$ sudo systemctl start redis-sentinel

$ sudo systemctl stop redis-sentinel

$ sudo systemctl restart redis-sentinel

こんなところでしょうかね。とりあえず、パッケージの雰囲気はわかった気がします。