Ubuntu Linux 14.04 LTSへRedis 3をインストールしてみます。
方法は2つ、ソースコードからコンパイルする方法と、apt-getでサードパーティのリポジトリからインストールする方法。
今回対象とするRedisは、3.0.6とします。
ソースコードからインストール
とりあえず、下準備的にコンパイル環境を作成。
$ sudo apt-get install -y wget gcc make
$ wget -q http://download.redis.io/releases/redis-3.0.6.tar.gz $ tar -zxvf redis-3.0.6.tar.gz
make。
$ cd redis-3.0.6
$ make
あ、今回のRedisのインストール先は、/opt/redisとします。
$ sudo mkdir /opt/redis
インストール。
$ sudo make PREFIX=/opt/redis install
make時のオプションなどは、アーカイブに同梱されているREADMEを見ましょう。
起動。
$ /opt/redis/bin/redis-server 6128:C 16 Jan 07:56:07.476 # Warning: no config file specified, using the default config. In order to specify a config file use /opt/redis/bin/redis-server /path/to/redis.conf _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 3.0.6 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in standalone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 | `-._ `._ / _.-' | PID: 6128 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' 6128:M 16 Jan 07:56:07.477 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 6128:M 16 Jan 07:56:07.478 # Server started, Redis version 3.0.6 6128:M 16 Jan 07:56:07.478 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. 6128:M 16 Jan 07:56:07.478 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled. 6128:M 16 Jan 07:56:07.478 * The server is now ready to accept connections on port 6379
redis-cliから接続。
$ /opt/redis/bin/redis-cli 127.0.0.1:6379> SET key1 value1 OK 127.0.0.1:6379> GET key1 "value1"
OKそうですね。
apt-getでインストール
RedisはUbuntu Linuxへapt-getでインストールすることもできますが
$ sudo apt-get install redis-server
これでは、ちょっと古いRedisがインストールされます。
$ redis-server [166] 16 Jan 07:59:56.174 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 2.8.4 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in stand alone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 | `-._ `._ / _.-' | PID: 166 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' [166] 16 Jan 07:59:56.176 # Server started, Redis version 2.8.4 [166] 16 Jan 07:59:56.176 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. [166] 16 Jan 07:59:56.176 * The server is now ready to accept connections on port 6379
というわけで、ここはサードパーティのリポジトリを使用します。
以下のコマンドでリポジトリを追加後、redis-serverをインストール。
$ sudo add-apt-repository ppa:chris-lea/redis-server $ sudo apt-get update $ sudo apt-get install redis-server
起動。
$ redis-server 4089:C 16 Jan 08:23:53.710 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 3.0.6 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in standalone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 | `-._ `._ / _.-' | PID: 4089 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' 4089:M 16 Jan 08:23:53.711 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 4089:M 16 Jan 08:23:53.712 # Server started, Redis version 3.0.6 4089:M 16 Jan 08:23:53.712 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. 4089:M 16 Jan 08:23:53.712 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled. 4089:M 16 Jan 08:23:53.712 * The server is now ready to accept connections on port 6379
無事、Redis 3がインストールされました。
オマケ
ソースコードからインストールする方は、Dockerfileも作成してみました。
※なぜかここは、ubuntu:latest
Dockerfile
FROM ubuntu:latest ENV REDIS_VERSION 3.0.6 ENV REDIS_HOME /opt/redis WORKDIR ${REDIS_HOME} RUN mkdir -p ${REDIS_HOME} RUN apt-get update RUN cd /opt && \ apt-get install -y \ wget \ gcc \ make \ && \ wget -q http://download.redis.io/releases/redis-${REDIS_VERSION}.tar.gz && \ tar -zxvf redis-${REDIS_VERSION}.tar.gz && \ mv redis-${REDIS_VERSION} redis-src && \ cd redis-src && \ make && \ make PREFIX=${REDIS_HOME} install EXPOSE 6379 ENTRYPOINT ["/opt/redis/bin/redis-server"]