これは、なにをしたくて書いたもの?
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、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が
入るようです。
設定ファイルは/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を使います。
「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
こんなところでしょうかね。とりあえず、パッケージの雰囲気はわかった気がします。